Spring JSON 请求失败,返回 406(不可接受)
您在使用 JSON 请求的 Spring MVC 应用程序中遇到的问题返回 406 错误可能是由于请求的 Accept 标头与控制器方法的返回值之间存在差异。
请求中的 Accept 标头指定客户端期望具有 application/json 内容类型的响应。但是,您的控制器方法未配置为生成 JSON 响应。最可能的原因是,正确的 HTTPMessageConverter 无法处理您的方法的返回类型(Weather 对象)和 JSON 格式之间的转换。
要解决此问题,您需要确保所需的Jackson 库存在于您的应用程序的类路径中。 Jackson 是一个广泛使用的 JSON 处理库,它提供了在 Spring MVC 中处理 JSON 转换所需的 HTTPMessageConverter。
添加正确的 Jackson 库后,您可以删除 headers="Accept=/”控制器方法中的指令。该指令告诉 Spring 接受任何 Accept 标头,这可能会导致意外行为。相反,您应该依赖默认设置,它将根据客户端的 Accept 标头自动协商响应格式。
通过执行以下步骤,您可以配置 Spring MVC 应用程序以正确处理 JSON 请求并返回预期响应格式。
以上是以下是一些标题选项,其风格和直接性各不相同: **直接且信息丰富** * **Spring MVC:为什么我的 JSON 请求返回 406(不可接受)错误?** * **故障排除 406 (的详细内容。更多信息请关注PHP中文网其他相关文章!