📜  responseentity 对象 (1)

📅  最后修改于: 2023-12-03 15:04:53.775000             🧑  作者: Mango

ResponseEntity对象介绍

什么是ResponseEntity对象?

ResponseEntity对象是Spring Web MVC中用来表示HTTP响应的对象,它包含了HTTP响应的状态码、响应头和响应体等信息。

在Controller中处理HTTP请求时,我们可以使用ResponseEntity对象来构建HTTP响应。通过设置不同的状态码、响应头和响应体,我们可以灵活地控制HTTP响应的内容。

如何使用ResponseEntity对象?

在Controller中处理HTTP请求时,可以通过返回ResponseEntity对象来构建HTTP响应。例如:

@GetMapping("/hello")
public ResponseEntity<String> sayHello() {
    return ResponseEntity.ok("Hello World");
}

在这个例子中,我们使用ResponseEntity.ok()方法来构建一个HTTP响应,该响应的状态码为200,响应体为"Hello World"。

除了ResponseEntity.ok()方法外,还有很多其他的静态方法可用于构建不同状态码的HTTP响应。

ResponseEntity对象的常用方法
ResponseEntity.status(HttpStatus status)

设置HTTP响应的状态码。

return ResponseEntity.status(HttpStatus.CREATED).body("资源创建成功");
ResponseEntity.header(String headerName, String... headerValues)

设置HTTP响应的响应头。

return ResponseEntity.ok()
    .header("Cache-Control", "no-cache")
    .header("X-Token", "xxxx")
    .body("Hello World");
ResponseEntity.body(T body)

设置HTTP响应的响应体。

return ResponseEntity.ok("Hello World");
ResponseEntity of(T body, HttpHeaders httpHeaders, HttpStatus httpStatus)

将响应体、响应头和状态码一起封装成一个ResponseEntity对象。

HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);

Person person = new Person();
person.setId(1L);
person.setName("John");

return ResponseEntity.of(person, headers, HttpStatus.OK);
总结

通过ResponseEntity对象,我们可以灵活地控制HTTP响应的各个部分,使得我们能够更好地处理HTTP请求并返回符合预期的响应。因此,熟练使用ResponseEntity对象是Web开发人员必备的技能之一。