@PutMapping("/createUser")
public String createUser(@RequestBody User user) {
User thisValue = repository.findByUsername(user.getUsername());
if thisValue != null {
sendResponseHeaders(400, -1); // wont work
return "account exist";
}
sendResponseHeaders(200, -1); // wont work
return "reached here";
}
com.sun.httpserver that I used before has a sendResponseheaders method and I cant find that on springboot. Is there anyway to accomplish this. Basically what I want it. If I send a json request body with a username that exist then a 400 response error should occur
3 Réponses :
Vous pouvez utiliser comme ceci. P> org.springframework.http.responseentality code>. @PutMapping("/createUser")
public ResponseEntity createUser(@RequestBody User user) {
User thisValue = repository.findByUsername(user.getUsername());
if (thisValue != null) {
return ResponseEntity.badRequest().build();
}
return ResponseEntity.ok().build();
}
Alors quoi? Comme quelle est la méthode
dans un contrôleur normal: dans un contrôleur de repos: p>
En plus de retourner une réponse code> explicite code>, vous pouvez lancer une exception (ou laisser une exception à échapper) annotée au niveau de la classe avec @Responsestatus code>. La configuration MVC de ressort par défaut interceptera toute exception sortant d'une méthode de contrôleur et retournera une méthode HTTP 500 (General "Server Erreur») si elle n'a pas d'annotation ni de statut spécifié si elle le fait. P>