gpt4 book ai didi

java - 如何让 MappingJacksonHttpMessageConverter 设置内容长度

转载 作者:行者123 更新时间:2023-12-01 05:08:34 25 4
gpt4 key购买 nike

我使用 @ResponseBody 从 Spring Controller 返回 JSON 数据。与此类似:

@RequestMapping("/api/someMethod.json")
public @ResponseBody MyClass someMethod(@RequestParam Long someVal, HttpServletRequest request) {
return new MyClass(someVal);
}

MappingJacksonHttpMessageConverter 始终为 getContentLength() 返回 null,这会导致内容长度 header 为 -1。

我需要准确设置内容长度(以解决客户端上的一个单独问题,但我无法修复该问题)。

让此类计算生成的 JSON 的内容长度并将其设置在内容长度 header 中的最简单方法是什么?

我不想编写自己的 JSON 生成器并返回 json 字符串,因为我有很多 API 方法需要此“修复”。

提前致谢。

最佳答案

一般来说,您永远不必手动设置 HTTP header 的内容长度。能够告诉服务数据比实际发送的数据多或少是非常危险的。看来底层技术(在你的例子中是 spring)实际上应该没有正确处理 json 转换。

也许 MyClass 对象没有正确转换为 json,这就是没有内容的原因?

关于java - 如何让 MappingJacksonHttpMessageConverter 设置内容长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12380404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com