【问题标题】:Return ResponseEntity vs returning POJO返回 ResponseEntity 与返回 POJO
【发布时间】:2018-09-15 08:27:54
【问题描述】:

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

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

  • return myBean;

是否有任何最佳实践指南或任何技术差异?

【问题讨论】:

    标签: rest spring-boot


    【解决方案1】:

    ResponseEntity<T> 代表整个 HTTP 响应。除了 body,它的 API 还允许您为响应设置 headers状态码

    只返回一个 bean 也可以,但不会给您太大的灵活性:以后如果需要在响应中添加标头或修改状态码,例如,您需要更改方法返回类型。

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

    【讨论】:

      【解决方案2】:

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

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

      如果您对 HTTP 200 和 POJO 的序列化版本没问题,只需返回 POJO 即可。

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

      【讨论】:

        猜你喜欢
        • 2017-03-29
        • 2020-05-23
        • 2022-01-06
        • 2017-03-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-24
        • 2018-11-19
        相关资源
        最近更新 更多