返回ResponseEntity与返回POJO

Abh*_*jee 7 rest spring-boot

我的应用程序基于带有一些REST端点的Spring Boot。下面的return语句之间有什么区别吗?

  • return new ResponseEntity<MyBean>(myBean, HttpStatus.OK)

  • return myBean;

是否有最佳实践准则或技术差异?

phi*_*sch 9

返回 可以ResponseEntity让您更好地控制 HTTP 响应的生成方式,尤其是在涉及 HTTP 状态代码和其他标头时。

HttpStatus.CREATED您可以轻松创建带有特定错误代码的响应来定制您的 API。

如果您同意 HTTP 200 和 POJO 的序列化版本,则只需返回 POJO 就可以了。

如果您在设计 API 时想要更多控制,请使用 ResponseEntity。


cas*_*lin 6

ResponseEntity<T>代表整个HTTP响应。除了主体,其API还允许您设置响应的标头状态代码

仅返回一个bean是可以的,但是并不能给您带来很大的灵活性:例如,将来,如果需要在响应中添加标头或修改状态代码,则需要更改方法的返回类型。

有关返回值的更多详细信息,请参阅Spring MVC 文档