我有一个 Spring Boot 应用程序和此处理程序方法:
@PostMapping("/{id}")
public User create(@PathVariable("id") Long id, @RequestBody User user) {
if (id > 0 && id < 10) {
String fullName = user.getFirstName() + " " + user.getLastName();
user.setId(id);
user.setFullName(fullName);
} else {
//Return 401 ?
}
return userService.save(user);
}
如何返回 401 错误?
响应 JSON 应如下所示:
{
"msg": "empty",
"status" : "401"
}
最佳答案
您可以使用 ResponseEntity
来做到这一点.
您需要将方法返回类型更改为 ResponseEntity<?>
,并将方法主体更改为:
if (id > 0 && id < 10) {
String fullName = user.getFirstName() + " " + user.getLastName();
user.setId(id);
user.setFullName(fullName);
return new ResponseEntity<>(userService.save(user), HttpStatus.OK);
}
return new ResponseEntity<>(yourJsonObject, HttpStatus.UNAUTHORIZED);
关于java - 如何在 Spring Boot 中有条件地返回自定义响应正文和状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68637684/