Spring JSON 请求返回 406(不可接受)
当尝试向 Spring MVC 控制器发送 JSON 请求时,一些用户遇到“406 不可接受”错误。该问题源于请求的内容类型(“application/json”)与控制器的响应能力不匹配。
在 Spring MVC 中,控制器方法用“@ResponseBody”注解表示返回值应以 JSON 形式写入 HTTP 响应正文。但是,如果没有在应用程序上下文中注册正确的 HTTPMessageConverter,Spring 将无法将返回值转换为请求的格式。
此错误的常见原因是应用程序中缺少 Jackson 库类路径。 Jackson 库提供了 HTTPMessageConverter 负责将 Java 对象转换为 JSON,反之亦然。
要解决此问题,请按照下列步骤操作:
确保以下 Jackson 库包含在应用程序类路径中:
如果您使用的是 Spring 3.0 或更高版本,请将以下行添加到 spring-servlet.xml 配置文件中以启用注释驱动的 MVC 配置:
通过实现这些步骤,HTTPMessageConverter 将被注册,Spring 将能够按预期将控制器的返回值转换为 JSON .
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3