我正在使用Spring 3.0创建一个RESTful网站 . 我正在使用 ContentNegotiatingViewResolver
以及HTTP消息转换器(例如 MappingJacksonHttpMessageConverter
用于JSON, MarshallingHttpMessageConverter
用于XML等) . 我能够成功获取XML内容,如果我在url的最后一个使用.xml后缀,并且在URL中使用带有.json后缀的JSON时也是如此 .
从控制器获取XML / JSON内容对我来说不会产生任何问题 . 但是, how can I POST the XML/JSON with request body in same Controller method?
对于例如
@RequestMapping(method=RequestMethod.POST, value="/addEmployee")
public ModelAndView addEmployee(@RequestBody Employee e) {
employeeDao.add(e);
return new ModelAndView(XML_VIEW_NAME, "object", e);
}
1 回答
您应该考虑不使用View来返回JSON(或XML),而是使用@ResponseBody注释 . 如果员工应该返回什么,那么Spring和MappingJacksonHttpMessageConverter将自动将您的Employee对象转换为JSON,如果您使用这样的方法定义和实现(注意,未经测试):