繁体   English   中英

Spring mvc配置JSON

[英]Spring mvc configuration JSON

我会知道有关返回 JSON 的 Spring MVC rest 服务的配置如何工作。

我以这种方式配置了 applicationContenxt.xml:

<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
    <property name="messageConverters">
        <list>
            <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"/>
        </list>
    </property>
</bean>
<bean id="contentNegotiatingViewResolver" class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
    <property name="mediaTypes">
        <map>
            <entry key="json" value="application/json"/>
        </map>
    </property>
    <property name="defaultViews">
        <list>
            <bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView"/>
        </list>
    </property>
</bean>
<bean class="com.MyController"></bean>

这是我的 controller 的代码:

@Controller(value="MyController")
public class MyController {
    @RequestMapping(value="/getValue", method=RequestMethod.GET)
    public ModelAndView getValue() {
        Map model = new HashMap();
        model.put("asasa", "bbbbb");
        model.put("cccc", "ddddd");
        return new ModelAndView("jsonView",model);
    }
}

我缺少有关 xml 配置或 Java 代码的信息? 尝试调用此资源时总是出现错误 404: http://localhost:8080/fss/MyController/getValue

并且不要忘记将 jackson 转换器添加到 Spring 上下文文件中。

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

顺便说一句 - 如果您的方法接受 JSON,则使用带有传入数据类型的 @RequestBody 注释:

@RequestMapping
public @ResponseBody OutgoingClass getJsonByJson(@RequestBody IncomingClass data) {...}

您可以找到 JSON 和 Spring MVC 以及更多https://sites.google.com/site/upida4j/example的不错示例

做就是了:

@Controller
public class HelloController {

  @RequestMapping(value="/hello", method=RequestMethod.GET)
  public @ResponseBody String hello(@RequestParam String name) {
    return "Hi " + name;
  }
}

将返回类型更改为 object 并将 jackson 包含在 object 响应的类路径中。

该请求需要有一个应用程序/json header 用于 controller 以返回 json。

查看http://blog.springsource.com/2010/01/25/ajax-simplifications-in-spring-3-0/

暂无
暂无

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

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