Comment renvoyer conditionnellement le corps et l'état de la réponse personnalisée dans Spring Boot?
Tout ce que j'ai gagné
J'ai une application Spring Boot et cette méthode de gestion :
@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);
}
Comment puis-je retourner le retour 401 ?
La réponse JSON devrait ressembler à :
{
"msg": "empty",
"status" : "401"
}
vszholobov
Vous pouvez le faire en utilisant ResponseEntity
.
Vous devrez changer le type de retour de votre méthode en ResponseEntity<?>
, et changer le corps de votre méthode en :
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);