我的应用程序基于带有一些REST端点的Spring Boot。以下退货声明之间有什么区别吗?
return new ResponseEntity<MyBean>(myBean, HttpStatus.OK)
return myBean;
是否有最佳做法指南或技术差异?
答案 0 :(得分:3)
ResponseEntity<T>
代表整个HTTP响应。除了 body 之外,它的API还允许您将标题和状态代码设置为响应。
只返回一个bean很好,但没有给你很大的灵活性:将来,如果你需要在响应中添加一个标题或修改状态代码,例如,你需要更改方法返回类型。
有关返回值的更多详细信息,请参阅Spring MVC documentation。
答案 1 :(得分:0)
返回ResponseEntity
可让您更好地控制HTTP响应的生成方式,尤其是涉及HTTP状态代码和其他标头时。
您可以使用HttpStatus.CREATED
或特定错误代码轻松创建响应,以定制您的API。
如果您对使用HTTP 200和POJO的序列化版本没问题,只需返回POJO即可。
如果您在设计API时需要更多控制权,请使用ResponseEntity。