springmvc 返回状态码
时间: 2023-07-12 14:21:23 浏览: 93
在SpringMVC中,我们可以通过以下两种方式来设置响应的状态码:
1. 直接在Controller方法上使用`@ResponseStatus`注解,指定该方法的返回状态码,例如:
```java
@GetMapping("/users/{id}")
@ResponseStatus(HttpStatus.OK)
public User getUser(@PathVariable Long id) {
User user = userService.getUserById(id);
return user;
}
```
2. 在Controller方法中使用`ResponseEntity`对象,该对象可以设置响应的状态码、响应头以及响应体等信息,例如:
```java
@GetMapping("/users/{id}")
public ResponseEntity<User> getUser(@PathVariable Long id) {
User user = userService.getUserById(id);
return ResponseEntity.ok(user);
}
```
上述代码中,`ResponseEntity.ok(user)`表示返回状态码为200,同时响应体为`user`对象。如果需要设置其他状态码,则可以使用`ResponseEntity.status(HttpStatus)`方法来设置,例如:
```java
@GetMapping("/users/{id}")
public ResponseEntity<User> getUser(@PathVariable Long id) {
User user = userService.getUserById(id);
return ResponseEntity.status(HttpStatus.NOT_FOUND).body(user);
}
```
上述代码中,`ResponseEntity.status(HttpStatus.NOT_FOUND).body(user)`表示返回状态码为404,并且响应体为`user`对象。
阅读全文