我正在浏览这个
tutorial,发现我们可以在Spring REST中使用MappingJackson2JsonView支持在@ResponseBody Annotation上返回JSON响应.
显然使用@ResponseBody Annotation非常简单,易于实现,因为使用MappingJackson2JsonView支持位复杂.这是我个人的意见,但我想知道在Spring REST中使用MappingJackson2JsonView支持在@ResponseBody Annotation上返回JSON响应有什么好处,如果有的话?有人可以解释一下他们之间哪个更好,为什么?何时使用MappingJackson2JsonView支持以及何时使用@ResponseBody Annotation在Spring REST中返回JSON响应?
我认为,MappingJackson2JsonView是很好的实现.
但ResponseBody有一些优点.
在@ResponseBody的帮助下,您可以返回对象而不是属性
例如
class Student extends ResponseDTO{ publci String name = "John" } ... @ResponseBody ResponseDTO getStudentInfo(){ return new Student(); }
结果将是
{
“名”:“约翰”
}
使用MappingJackson2JsonView,你必须在属性中返回对象
{ "student": { "name":"John" } }
使用@ResponseBody,您还可以返回内联对象扩展的结果
@ResponseBody getStudentInfo(){ return new Object(){ public String name="John" }; }
但这不是很好的实施
一些好的实现MappingJackson2JsonView是好的.但是对于更多功能,如返回对象或返回ResponseDto,ResponseBody更有用