繁体   English   中英

Spring MVC 3.2.1中没有Json响应

[英]Json response not comming in spring MVC 3.2.1

我正在使用Soring MVC 3.2.1。我正在使用一个控制器,该控制器应该返回一个json,我也包含了杰克逊罐子,但是没有返回json。它给出了错误此请求所标识的资源只能生成具有特征的响应根据请求“接受”标头()不可接受。

@RequestMapping(value = "/search.json", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
    protected @ResponseBody
    LoginDto searchDeals(@ModelAttribute Deal deal) {
        /*
         * DealDao dealdao = new DealDao(); List<Deal> deals =
         * dealdao.search(deal);
         */
        return new LoginDto("sdadas", "asdasdas");
    }

配置

<!--
    <bean name="/UploadEmployeeServlet.do"
    class="com.etnow.UploadEmployeeServlet" />
-->
<context:component-scan base-package="com.etnow.*" />
<mvc:annotation-driven
    content-negotiation-manager="contentNegotiationManager" />
<bean id="contentNegotiationManager"
    class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean">
    <property name="favorPathExtension" value="false" />
    <property name="favorParameter" value="false" />
    <property name="ignoreAcceptHeader" value="false" />
    <property name="mediaTypes">
        <value>
            json=application/json
        </value><!--
    -->
    </property>
</bean>

<mvc:view-controller path="/one.do" view-name="SignUp" />
<bean id="viewResolver"
    class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix">
        <value>/WEB-INF/</value>
    </property>
    <property name="suffix">
        <value>.jsp</value>
    </property>
</bean>

请帮助它可以在3.0中正常运行而无需设置contentNogotiation Manager,但不能在最新版本的Spring MVC中使用

听起来您在发出http请求时需要在标头中发送“ Accept = application / json”。

您还可以通过创建ObjectMapper对象并检查返回类型的canSerialize(class)来检查是否可以获取json以及是否正确安装了jar。

您如何发布数据?

删除“ produces =” application / json; charset = UTF-8“也可以解决问题,但是如果要包括该行,则需要在HTTP请求中包括accepts标头。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM