我正在使用 Spring MVC
<mvc:annotation-driven/>
在我的配置文件中。
我的控制器方法是
public @ResponseBody ArrayList<AccountDetails> create(UploadItem uploadItem) {
..............
return list;
}
使用jre1.7
仍然收到接受标头的 HTTP 状态 406 错误..
我正在使用 Spring MVC
<mvc:annotation-driven/>
在我的配置文件中。
我的控制器方法是
public @ResponseBody ArrayList<AccountDetails> create(UploadItem uploadItem) {
..............
return list;
}
使用jre1.7
仍然收到接受标头的 HTTP 状态 406 错误..
您的问题在细节上非常稀疏,但这是在黑暗中拍摄的。
请求中传递了哪些接受标头?
您期望返回什么(XML?JSON?)以及您期望它如何发生。
如果您在类路径上有 JAXB,并且客户端指定它接受 xml,那么 spring 将为您将其转换为 XML。
如果您在类路径中有 Jackson,并且客户端指定它接受 JSON,那么 spring 将为您将其转换为 JSON。
你满足这些条件中的任何一个吗?
Spring MVC 3:通过@ResponseBody 返回XML可能会为您提供更多信息。
我认为为了让这个工作你必须明确声明消息转换器。
当接受标头正确但 JAXB 配置缺少编组对象所在的包名称时,我们遇到了类似的 Spring 406 返回代码(该 jar 在该包中有一个 jaxb.index 文件,但 Spring/JAXB 不知道它。
<oxm:jaxb2-marshaller id="jaxbMarshaller" contextPath="colon-separated-list-of-packages" />
这是 Spring 3.20