Quelle est la différence entre @GetMapping
et @RequestMapping(method = RequestMethod.GET)
?
J'ai vu dans certains exemples Spring Reactive que @GetMapping
était utilisé à la place de @RequestMapping
@GetMapping
est une annotation composée qui agit comme un raccourci pour @RequestMapping(method = RequestMethod.GET)
.
@GetMapping
est la nouvelle version. Il soutient consomme
Les options de consommation sont:
consomme = "text/plain"
consomme = {"text/plain", "application/*"}
Pour plus de détails, voir: GetMapping Annotation
ou lisez: variantes de mappage de demandes
RequestMapping prend également en charge les consommations
Comme vous pouvez le voir ici :
Plus précisément,
@GetMapping
est une annotation composée qui agit en tant que raccourci pour@RequestMapping(method = RequestMethod.GET)
.Différence entre
@GetMapping
et@RequestMapping
@GetMapping
supporte l'attributconsumes
comme par exemple@RequestMapping
.
@RequestMapping
est un niveau de classe
@GetMapping
est un niveau de méthode
Avec sprint Spring 4.3. et les choses ont changé. Vous pouvez maintenant utiliser @GetMapping sur la méthode qui gérera la requête http. La spécification @RequestMapping au niveau classe est affinée avec l'annotation @GetMapping au niveau méthode.
Voici un exemple:
@Slf4j
@Controller
@RequestMapping("/orders")/* The @Request-Mapping annotation, when applied
at the class level, specifies the kind of requests
that this controller handles*/
public class OrderController {
@GetMapping("/current")/*@GetMapping paired with the classlevel
@RequestMapping, specifies that when an
HTTP GET request is received for /order,
orderForm() will be called to handle the request..*/
public String orderForm(Model model) {
model.addAttribute("order", new Order());
return "orderForm";
}
}
Avant le printemps 4.3, c'était @RequestMapping(method=RequestMethod.GET)
Réponse courte:
Il n'y a pas de différence en sémantique.
Plus précisément, @GetMapping est une annotation compound qui agit en tant que raccourci pour @RequestMapping (method = RequestMethod.GET).
Lectures supplémentaires:
RequestMapping
peut être utilisé au niveau de la classe:
Cette annotation peut être utilisée à la fois au niveau de la classe et de la méthode . Dans la plupart des cas, au niveau de la méthode, les applications préfèrent en utiliser un des variantes spécifiques à la méthode HTTP @GetMapping, @PostMapping, @PutMapping, @DeleteMapping ou @PatchMapping.
tandis que GetMapping
s'applique uniquement à la méthode:
Annotation pour le mappage des requêtes HTTP GET sur un gestionnaire spécifique méthodes.