2011-07-03 51 views
1

我会知道如何工作配置有关Spring MVC休息服务,返回JSON。春天MVC配置JSON

我已经在可配置在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(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

回答

2

只要做到:

@Controller 
public class HelloController { 

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

更改返回类型的对象,包括杰克逊的类路径中的物体响应。

该请求需要一个应用程序/ json头让控制器返回json。

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

2

而且不要忘记加上杰克逊转换到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