0
votes

Comment envoyer une erreur de réponse 400/500/404 via le démarrage

@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

0 commentaires

3 Réponses :


1
votes

Vous pouvez utiliser org.springframework.http.responseentality code>. xxx pré>

comme ceci. P>

@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();
}


1 commentaires

Alors quoi? Comme quelle est la méthode



0
votes

dans un contrôleur normal: xxx

dans un contrôleur de repos: xxx


0 commentaires

1
votes

En plus de retourner une réponse explicite , vous pouvez lancer une exception (ou laisser une exception à échapper) annotée au niveau de la classe avec @Responsestatus . 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.


0 commentaires