【问题标题】:Spring rest call JSON response size from JSON generator来自 JSON 生成器的 Spring REST 调用 JSON 响应大小
【发布时间】:2019-11-18 17:24:50
【问题描述】:

在我的项目中,我无法获得直接退货声明。

通过 JSON 生成器,我可以看到一些将输出设置为 JSON 字符串的方法。

我使用调试模式找出流程:

  1. 在邮递员中点击 URL 后,后端休息控制器被触发。
  2. 来自响应对象的输出流对象(作为 http 请求和响应均由 rest 控制器捕获)。
  3. 借助 JSON 生成器从该响应对象创建输出适配器。
  4. 使用适配器,创建可调用语句(JDBC 与存储过程一起用于从 oracle DB 中获取数据。)
  5. 调用 JSON 生成器对象方法以写入 JSON 响应。

方法是

writeOutputParameterStart(stored proc. Result)

writeOutputParameterEnds(stored proc. Result)

我需要找到 JSON 字符串。

JSON 字符串是由 Jackson 库内部创建的吗?有什么方法可以让我在 JSON 中获取响应的大小?

【问题讨论】:

  • 你有一些代码给我们看吗?

标签: java json spring stored-procedures httpresponse


【解决方案1】:

所以基本上每个 jsonGenerator 对象都有底层的输出流或写入器。所以我们可以在 jsonGenerator 对象上调用 getOutputBuffered() 方法,它会返回 int 中缓冲响应的大小。

所以我的响应大小是 1900 字节 (1.9KB),我可以在邮递员页面中直接看到,现在我也可以在日志上打印它,以便 SPLUNK 工具可以从我的应用程序的服务器日志中检索

注意——我们应该在 jsonGenerator 被刷新之前调用这个方法。因此,一旦任何流被刷新,我们就无法获得缓冲的数据大小。

【讨论】:

    猜你喜欢
    • 2017-01-07
    • 2019-09-13
    • 1970-01-01
    • 1970-01-01
    • 2021-05-27
    • 2016-01-17
    • 1970-01-01
    • 1970-01-01
    • 2015-11-15
    相关资源
    最近更新 更多