1

我正在使用 Spring MVC

<mvc:annotation-driven/>

在我的配置文件中。

我的控制器方法是

public @ResponseBody ArrayList<AccountDetails> create(UploadItem uploadItem)   {  
..............
return list;
}

使用jre1.7

仍然收到接受标头的 HTTP 状态 406 错误..

4

3 回答 3

0

您的问题在细节上非常稀疏,但这是在黑暗中拍摄的。

请求中传递了哪些接受标头?

您期望返回什么(XML?JSON?)以及您期望它如何发生。

如果您在类路径上有 JAXB,并且客户端指定它接受 xml,那么 spring 将为您将其转换为 XML。

如果您在类路径中有 Jackson,并且客户端指定它接受 JSON,那么 spring 将为您将其转换为 JSON。

你满足这些条件中的任何一个吗?

Spring MVC 3:通过@ResponseBody 返回XML可能会为您提供更多信息。

于 2012-06-14T21:48:34.483 回答
0

我认为为了让这个工作你必须明确声明消息转换器。

于 2012-06-14T21:38:42.597 回答
0

当接受标头正确但 JAXB 配置缺少编组对象所在的包名称时,我们遇到了类似的 Spring 406 返回代码(该 jar 在该包中有一个 jaxb.in​​dex 文件,但 Spring/JAXB 不知道它。

<oxm:jaxb2-marshaller id="jaxbMarshaller" contextPath="colon-separated-list-of-packages" />

这是 Spring 3.20

于 2014-07-16T17:10:41.150 回答