Maison  >  Article  >  Java  >  Comparez et contrastez les différences d'utilisation entre @RequestParam et @PathVariable

Comparez et contrastez les différences d'utilisation entre @RequestParam et @PathVariable

巴扎黑
巴扎黑original
2017-07-23 14:30:022297parcourir

Dans Spring MVC, la fonction des deux est de lier la valeur du paramètre dans la requête au paramètre de méthode dans le contorl. La différence est que l'URL est écrite différemment.

Lorsque vous utilisez @RequestParam, l'URL ressemble à ceci : http://host:port/path?Parameter name=parameter value

Lorsque vous utilisez @PathVariable, l'URL ressemble à ceci : http://host:port/path/Parameter value

Par exemple :

[java] afficher la copie brute
  1. @RequestMapping(value="/user",method = RequestMethod.GET)

  2. public @ResponseBody

  3. Utilisateur printUser( @RequestParam( value = "id", obligatoire = false, defaultValue = "0")

  4. int id) {

  5. Utilisateur utilisateur = nouvel utilisateur(); user = userService .getUserById(id); 

  6.  

    retour de l'utilisateur 🎜>

  7. @RequestMapping(value="/user/{id:\d+}",method = RequestMethod.GET)

  8. public

    @ResponseBody

  9. Utilisateur printUser2(@PathVariable int id) {

  10. Utilisateur utilisateur = nouvel utilisateur ();

  11. utilisateur = userService .getUserById(id);   

    utilisateur de retour 🎜>
  12. Les chemins d'accès pour les deux méthodes ci-dessus sont les suivants :

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn