为什么@RepositoryRestController没有像@RestController这样的@ResponseBody注释?

时间:2015-11-14 19:16:59

标签: spring-data-rest

我正在使用Spring-data-rest,并想知道@RestController是否@ResponseBody但[{1}}还没有。{/ p>

1 个答案:

答案 0 :(得分:3)

使用该批注的Spring Data REST中的所有控制器无论如何都返回import javax.ws.rs.ApplicationPath; import javax.ws.rs.core.Application; @ApplicationPath("/rest") public class JaxRsActivator extends Application { } ,因此技术上不需要ResponseEntity<T>

我们通常更喜欢@ResponseBody作为返回类型,原因有两个:

  1. 在提供REST请求的控制器方法中,您通常希望控制响应的详细信息(标题,状态代码等)ResponseEntity正是其类型。
  2. Spring MVC检测到ResponseEntity,因此我们没有附加注释。
  3. 我不确定我们是否真的可以改变它,因为尽管注释的名称,仍然可以使用仍然使用视图分辨率的实现。如果您仍然认为,这是一个好主意,请随时在JIRA中提出一张票。