Response.ok vs http response



在spring Rest Controller中,ResponseEntity.ok与直接发送响应之间有什么区别。不管怎样,如果两种情况下的反应都成功,我会得到200。

例如:-ResponseEntity.ok(列表(或发送仅发送列表

使用ResponseEntity,您可以对响应对象进行更细粒度的控制,例如,您可以设置额外的头或自定义返回代码。

如果您只是用list或ResponseEntity.ok(list(进行响应,则没有区别。

使用ResponseEntity作为返回类型的优点是根据可用数据发送不同的状态代码

例如,您只有返回类型List<String>,那么HTTP响应状态代码将始终为200,并且您将无法发送任何其他状态代码

public List<String> getResponse() {
}

但如果你有ResponseEntity<List<String>>作为返回类型,你可以发送所需的状态代码和适当的数据

public List<String> getResponse() {
ResponseEntity.status(HttStatus.ACCEPTED).body(list)
ResponseEntity.status(HttStatus.NOT_FOUND).build()
}

当一个端点成功返回时,Spring会提供一个HTTP 200(OK(响应。如果端点抛出异常,Spring将查找一个异常处理程序,该异常处理程序将告诉使用哪个HTTP状态。这意味着只要你的响应发送成功,状态总是200。但如果你想自定义响应,ResponseEntity更灵活。https://www.baeldung.com/spring-response-entity

最新更新