Spring REST Controllers
APIs REST avec @RestController, @GetMapping, @PostMapping, @PutMapping, @DeleteMapping, ResponseEntity
1Quelle est la différence principale entre @RestController et @Controller ?
Quelle est la différence principale entre @RestController et @Controller ?
Réponse
@RestController est une annotation composite qui combine @Controller et @ResponseBody. Cela signifie que toutes les méthodes d'un @RestController retournent automatiquement les données sérialisées (JSON/XML) au lieu de résoudre une vue. @RestController est donc idéal pour créer des API REST, tandis que @Controller est utilisé pour les applications web traditionnelles avec des vues HTML.
2Quel est le rôle de l'annotation @RequestBody dans une méthode REST ?
Quel est le rôle de l'annotation @RequestBody dans une méthode REST ?
Réponse
@RequestBody indique à Spring de désérialiser le corps de la requête HTTP (généralement JSON ou XML) en un objet Java. Spring utilise un HttpMessageConverter (comme Jackson pour JSON) pour effectuer cette conversion automatiquement. C'est essentiel pour recevoir des données complexes dans les requêtes POST ou PUT.
3Quelle annotation utiliser pour mapper une requête HTTP DELETE ?
Quelle annotation utiliser pour mapper une requête HTTP DELETE ?
Réponse
@DeleteMapping est une annotation spécialisée introduite dans Spring 4.3 pour mapper les requêtes HTTP DELETE de manière concise. C'est un raccourci pour @RequestMapping(method = RequestMethod.DELETE). Spring fournit des annotations similaires pour chaque méthode HTTP : @GetMapping, @PostMapping, @PutMapping, @PatchMapping.
Comment extraire une variable de chemin d'URL dans Spring REST ?
Quel est l'avantage d'utiliser ResponseEntity<T> au lieu de retourner directement un objet ?
+17 questions d'entretien
Autres sujets d'entretien Spring Boot
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logging avec SLF4J et Logback
Spring Boot DevTools
Spring MVC Basics
Request & Response Handling
Gestion des exceptions
Validation avec Bean Validation
Spring Data JPA - Les bases
Entités JPA et relations
Requêtes JPA
Spring Data Repositories
Spring Security - Les bases
Spring Boot Actuator
Tests unitaires avec JUnit et Mockito
Tests Spring Boot
Profiles et Environment
RestTemplate et WebClient
Async et Scheduling
Caching avec Spring
Spring WebFlux (Reactive)
Transactions Spring
Authentification et autorisation avancées
JWT et sécurité stateless
OAuth2 et Authorization Server
Spring Boot et Docker
Microservices avec Spring
Spring Cloud Config
Optimisation des performances
GraalVM Native Images
Maîtrise Spring Boot pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement