为什么@RepositoryRestController 不像@RestController 那样有@ResponseBody 注解?
Why does @RepositoryRestController do not have @ResponseBody annotation like @RestController?
我正在使用 Spring-data-rest 并想知道 @RestController
也有 @ResponseBody
但 @RepositoryRestController
没有的事实背后是否有原因。
Spring 数据 REST 中的所有控制器都使用该注释 return 和 ResponseEntity<T>
,因此技术上 @ResponseBody
不需要。
我们通常更喜欢 ResponseEntity
作为 return 类型,原因有两个:
- 在为 REST 请求提供服务的控制器方法中,您通常希望控制响应的详细信息(headers、状态代码等),
ResponseEntity
正是其类型。
- Spring MVC 检测到
ResponseEntity
,因此我们不需要附加注释。
我不确定我们是否真的可以改变它,因为尽管有注释的名称,但仍然有可能仍然使用视图分辨率的实现。如果您仍然认为这是个好主意,请随时在我们的 JIRA.
中提出问题
我正在使用 Spring-data-rest 并想知道 @RestController
也有 @ResponseBody
但 @RepositoryRestController
没有的事实背后是否有原因。
Spring 数据 REST 中的所有控制器都使用该注释 return 和 ResponseEntity<T>
,因此技术上 @ResponseBody
不需要。
我们通常更喜欢 ResponseEntity
作为 return 类型,原因有两个:
- 在为 REST 请求提供服务的控制器方法中,您通常希望控制响应的详细信息(headers、状态代码等),
ResponseEntity
正是其类型。 - Spring MVC 检测到
ResponseEntity
,因此我们不需要附加注释。
我不确定我们是否真的可以改变它,因为尽管有注释的名称,但仍然有可能仍然使用视图分辨率的实现。如果您仍然认为这是个好主意,请随时在我们的 JIRA.
中提出问题