🛢️Parcours Fioul GroupéSpring Boot · Chapitre 05
Accueil › Spring Boot › Chapitre 05
Chapitre 05 / 19

Spring Boot — la partie Web

La couche qui expose l'API : contrôleurs REST, verbes HTTP, paramètres, codes de statut, et gestion propre des erreurs.

1 Notion

Contrôleurs REST & verbes HTTP

@RestController + @RequestMapping définissent un contrôleur et son URL de base. Chaque verbe a son annotation.

@RestController
@RequestMapping("/api/campagnes")
public class CampagneController {
    @GetMapping            // lire
    @PostMapping           // créer
    @PutMapping("/{id}")   // modifier
    @DeleteMapping("/{id}")// supprimer
}
2 Notion

Recevoir des paramètres

@GetMapping
public List<CampagneDTO> lister(@RequestParam(required=false) String zone) { ... }
3 Notion

Les codes de statut HTTP

Une bonne API renvoie le bon code : 200 OK, 201 Created, 204 No Content, 400 requête invalide, 404 non trouvé, 409 conflit. On utilise ResponseEntity pour les maîtriser.

return ResponseEntity.status(HttpStatus.CREATED).body(dto);
4 Notion

Gérer les erreurs proprement

Un @RestControllerAdvice centralise la transformation des exceptions en réponses HTTP lisibles.

@RestControllerAdvice
public class GestionErreurs {
    @ExceptionHandler(CampagneIntrouvable.class)
    @ResponseStatus(HttpStatus.NOT_FOUND)
    public Map<String,String> introuvable(CampagneIntrouvable e) {
        return Map.of("erreur", e.getMessage());
    }
}
🛢️ Sur le projet Fioul Groupé

Conçois le contrat de l'API : URLs, verbes, codes attendus (201 à la création d'une commande, 409 si la campagne est clôturée, 404 si l'id n'existe pas). C'est le jalon « couche Web » du chapitre 6.

À retenir
  • Un verbe HTTP = une annotation (@GetMapping…).
  • Paramètres : @PathVariable, @RequestParam, @RequestBody.
  • Bons codes de statut ; erreurs centralisées avec @RestControllerAdvice.
← Chapitre 04