我想要的是什么:
@RequestMapping("/**")
public @ResponseBody Object getSomething(@RequestBody DataRequest req) {
// return anything can be transformed into json
}
如果我在此方法上使用具体返回类型,它将起作用。例如:
@RequestMapping("/**")
public @ResponseBody List<User> getSomething(@RequestBody DataRequest req) {
return UserManager.getAllUsers();
}
Spring MVC是否支持此功能?据我所知,Gson库可以将任意Java对象反序列化为json,而Spring MVC使用jackson,我不知道是否可能。
答案 0 :(得分:0)
Spring MVC是否支持此功能?
是的,Spring使用HttpMessageConverter
将返回的对象转换为响应正文。如果可能的话,如果杰克逊依赖类路径,MappingJackson2HttpMessageConverter
会将返回类型转换为相应的JSON表示。
据我所知,Gson库可以将任意Java对象反序列化 json,而Spring MVC使用jackson
从Spring 4.1.x开始,有一个GsonHttpMessageConverter
。因此,您可以使用GSON从/向JSON进行读写。有关此主题的更多信息,请查看HTTP Message Converters上的Spring文档。