【问题标题】:Spring MVC not able to return JSONArray object Error 406Spring MVC 无法返回 JSONArray 对象错误 406
【发布时间】:2013-02-19 01:09:12
【问题描述】:

我正在尝试从我的 spring mvc 控制器返回 JSONArray 对象。但是我在浏览器上收到 406 错误。这是一个 ajax 请求,我正在使用 jquery 发出请求。

弹簧控制器方法:

@RequestMapping("/getAuthorizedScreensForUser.do")  
public @ResponseBody JSONArray getAuthorizedScreensForUser(HttpSession session){  
    UserAuthDetails userAuthDetails = (UserAuthDetails) session.getAttribute("userauthdetails");  
   //This method returns JSONArray  
    return webUtilsService.getJSONArrayResponseForAuthorizedScreens(userAuthDetails.getScrnfldacss());   
}  

我已经在 spring-context.xml 中尝试了这两个条目

    <mvc:annotation-driven>  
        <mvc:message-converters>  
            <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">  
                <property name="prefixJson" value="true"/>  
            </bean>  
        </mvc:message-converters>  
    </mvc:annotation-driven>  

<mvc:annotation-driven/>  

我的 pom.xml 有这些依赖项:

<dependency>  
            <groupId>org.codehaus.jackson</groupId>  
            <artifactId>jackson-core-asl</artifactId>  
            <version>1.9.12</version>  
        </dependency>  

        <dependency>  
            <groupId>org.codehaus.jackson</groupId>  
            <artifactId>jackson-mapper-asl</artifactId>  
            <version>1.9.12</version>  
        </dependency>  

我正在运行 WAS 8。不确定是什么问题。我能够以 json 格式返回简单对象,但不能返回 JSONArray 对象。如果我做错了什么,请告诉我。

我知道有很多现有的线程都有相同的讨论。但我没有找到任何有 JSONArray 对象示例的人。 帕万乔普拉

【问题讨论】:

    标签: ajax json spring-mvc


    【解决方案1】:

    406 表示您的请求未包含与响应中的匹配标头匹配的接受标头。这来自W3

    请求标识的资源只能生成 具有不可接受的内容特征的响应实体 根据请求中发送的接受标头。

    我将从查看请求开始。确保它在请求的标头中有“application/json”。然后,确保将响应的 Content-Type 设置为相同。

    【讨论】:

    • 我已验证。它在标头中有 application/json。正如我所说,我在使用 JSONArray 或 JSONObject 时遇到了这个问题。任何其他对象都可以正常工作。谢谢
    • 您确认生成的 JSON 是正确的吗?尝试通过众多在线 JSON 验证器之一发送它。我个人使用 JSONlint:jsonlint.com
    猜你喜欢
    • 1970-01-01
    • 2011-05-03
    • 1970-01-01
    • 1970-01-01
    • 2020-11-21
    • 1970-01-01
    • 2014-06-16
    • 2015-04-26
    • 2011-11-12
    相关资源
    最近更新 更多