使用ResponseEntity< >书写Controller类
时间: 2023-12-11 11:02:36 浏览: 125
当需要从Spring Boot应用程序中返回不同类型的响应(例如JSON、XML、PDF等)时,使用ResponseEntity是很方便的方式。下面是一个使用ResponseEntity的简单示例。
首先,在Controller类中定义一个方法并使用ResponseEntity作为返回类型。例如:
```java
@GetMapping("/students/{id}")
public ResponseEntity<Student> getStudentById(@PathVariable Long id) {
Student student = studentService.getStudentById(id);
if (student == null) {
return ResponseEntity.notFound().build();
} else {
return ResponseEntity.ok(student);
}
}
```
在上面的代码中,我们使用@GetMapping注释来指定HTTP GET请求的映射路径,并且使用@Pathvariable注释来获取URI路径变量的值。
在方法的主体中,我们首先调用studentService.getStudentById(id)方法来获取相应的学生对象。如果该学生对象不存在,则使用ResponseEntity.notFound().build()方法返回一个HTTP 404响应。否则,我们使用ResponseEntity.ok(student)方法返回一个HTTP 200响应,并将学生对象作为响应体返回。
此外,ResponseEntity还提供了其他的静态方法,如ResponseEntity.created()、ResponseEntity.accepted()、ResponseEntity.badRequest()等,以便根据不同的情况返回不同的HTTP响应。
希望这个例子能帮助你理解如何使用ResponseEntity编写Controller类。
阅读全文