关于ajax:使用Spring MVC处理JSON和表单数据请求

Handling JSON and form data request with Spring MVC

我正在开发简单的SpringMVC应用程序,我喜欢新的SpringRest功能。我想使用相同的方法来处理常规表单和JSON数据。不过,这似乎有点棘手。例如,方法

1
public @ResponseBody String process(@RequestBody Bean bean);

将适用于JSON请求(内容类型:application/json),以及

1
public @ResponseBody String process(Bean bean);

将请求与内容类型匹配:application/x-www-form-urlencoded。

这些方法显然会有几乎相同的内容,所以我宁愿避免这种重复。对于Jersey,使用@Consumes注释是可能的,但我不知道如何使用Spring。


首先,上面的声明不会编译,因为您有重复的签名。

顺便说一句,我认为@Consumes没有帮助,因为它只指定了该方法可以处理的内容类型。

在Spring中,可以使用

1
@RequestMapping(headers="Content-Type=application/json")


只需为控制器类添加@restcontroller注释。