Quelle est la différence entre @ PathParam et @PathVariable?
@PathVariable
est de Spring MVC et @PathParam
est de JAX-RS. Des idées à ce sujet?
5 réponses
@PathVariable et @PathParam les deux sont utilisés pour accéder aux paramètres de URI Template
Différences:
- comme vous le mentionnez @PathVariable est de printemps et @PathParam est de JAX-RS.
- @ PathParam peut utiliser avec repos seulement, où @PathVariable utilisé au printemps afin qu'il fonctionne en MVC et repos.
@PathParam est une annotation de paramètre qui vous permet de mapper des fragments de chemin URI variables dans votre appel de méthode.
@Path("/library")
public class Library {
@GET
@Path("/book/{isbn}")
public String getBook(@PathParam("isbn") String id) {
// search my database and get a string representation and return it
}
}
pour plus de détails : JBoss DOCS
au printemps MVC vous pouvez utiliser le @PathVariable annotation sur un argument de méthode pour le lier à la valeur D'une variable URI template pour plus de détails : SPRING DOCS
PathParam:
pour assigner des valeurs de paramètre URI aux arguments de méthode. Au Printemps, c'est @RequestParam
.
par exemple.,
http://localhost:8080/books?isbn=1234
@GetMapping("/books/")
public Book getBookDetails(@RequestParam("isbn") String isbn) {
PathVariable:
pour assigner des valeurs URI placeholder aux arguments de méthode.
par exemple.,
http://localhost:8080/books/1234
@GetMapping("/books/{isbn}")
public Book getBook(@PathVariable("isbn") String isbn) {
@PathParam
est une annotation de paramètre qui vous permet de mapper des fragments de chemin URI variables dans votre appel de méthode.
@PathVariable
est d'obtenir quelques espace réservé à partir de l'URI (Printemps appeler un Modèle URI)
@PathVariable
@PathVariable c'est l'annotation, qui est utilisée dans L'URI pour la requête entrante. Regardons ci-dessous!--4-->
http://localhost:8080/restcalls/101?id=10&nom=xyz
@RequestParam
l'annotation@RequestParam utilisée pour accéder aux valeurs des paramètres de requête de la requête.
public String getRestCalls(
@RequestParam(value="id", required=true) int id,
@RequestParam(value="name", required=true) String name){...}
Remarque:
ce que nous demandons appel reste je.e, @PathVariable
tout ce à quoi nous accédons pour écrire des requêtes I. e, @RequestParam