我正在开发简单的Spring-MVC应用程序,我喜欢新的Spring REST功能。我想使用相同的方法来处理常规表单和JSON数据。然而,这看起来有点棘手。例如,方法
public @ResponseBody String process(@RequestBody Bean bean);
将适用于JSON请求(Content-type:application / json)和
public @ResponseBody String process(Bean bean);
将匹配请求与Content-type:application / x-www-form-urlencoded。
这些方法显然会有几乎相同的内容,所以我宁愿避免这种重复。使用Jersey可以使用@Consumes
注释,但我无法弄清楚如何使用Spring。
答案 0 :(得分:1)
首先,上述声明不会编译,因为您有重复的签名。
顺便说一下,我认为@Consumes
无济于事,因为它只指定了该方法可以处理的内容类型。
在春天,您可以使用
指定内容类型@RequestMapping(headers="Content-Type=application/json")
答案 1 :(得分:0)
只需为控制器类添加@RestController注释。