gpt4 book ai didi

json - Spring REST Controller中带有RequestBody的XML/JSON POST

转载 作者:行者123 更新时间:2023-12-03 22:18:45 25 4
gpt4 key购买 nike

我正在用Spring 3.0创建一个RESTful网站。我正在使用ContentNegotiatingViewResolver以及HTTP消息转换器(例如JSON的MappingJacksonHttpMessageConverter,XML的MarshallingHttpMessageConverter等)。如果我在url的末尾使用.xml后缀,并且在JSON与URL带有.json后缀的情况下相同,则能够成功获取XML内容。

从 Controller 获取XML/JSON内容对我来说没有任何问题。但是,如何在同一Controller方法中以请求主体发布XML/JSON?

例如

@RequestMapping(method=RequestMethod.POST, value="/addEmployee")
public ModelAndView addEmployee(@RequestBody Employee e) {
employeeDao.add(e);
return new ModelAndView(XML_VIEW_NAME, "object", e);
}

最佳答案

您应该考虑不使用View返回JSON(或XML),而应使用@ResponseBody批注。如果应该返回雇员,那么,如果您使用这样的方法定义和实现(请注意,未经测试),Spring和MappingJacksonHttpMessageConverter会自动将Employee对象转换为JSON:

   @RequestMapping(method=RequestMethod.POST, value="/addEmployee")
@ResponseBody
public Employee addEmployee(@RequestBody Employee e) {
Employee created = employeeDao.add(e);
return created;
}

关于json - Spring REST Controller中带有RequestBody的XML/JSON POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8339137/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com