Je ne pose pas la question qui est déjà posée ici : Quelle est la différence entre @PathParam et @QueryParam ?
Il s'agit d'une question de "meilleures pratiques" ou de convention.
Quand utiliseriez-vous @PathParam
vs @QueryParam
.
Ce que je peux penser, c'est que la décision pourrait utiliser les deux pour différencier le modèle d'information. Permettez-moi d'illustrer ci-dessous mon LTPO - less than perfect observation.
L'utilisation de PathParam pourrait être réservée à la catégorie d'information, qui s'inscrirait parfaitement dans une branche d'un arbre d'information. PathParam pourrait être utilisé pour descendre dans la hiérarchie des classes d'entités.
Alors que QueryParam pourrait être réservé à la spécification d'attributs pour localiser l'instance d'une classe.
Par exemple,
/Vehicle/Car?registration=123
/House/Colonial?region=newengland
/category?instance
@GET
@Path("/employee/{dept}")
Patient getEmployee(@PathParam("dept")Long dept, @QueryParam("id")Long id) ;
vs /category/instance
@GET
@Path("/employee/{dept}/{id}")
Patient getEmployee(@PathParam("dept")Long dept, @PathParam("id")Long id) ;
vs ?category+instance
@GET
@Path("/employee")
Patient getEmployee(@QueryParam("dept")Long dept, @QueryParam("id")Long id) ;
Je ne pense pas qu'il y ait une convention standard pour le faire. Y en a-t-il une ? Cependant, j'aimerais savoir comment les gens utilisent PathParam vs QueryParam pour différencier leurs informations comme je l'ai illustré ci-dessus. J'aimerais également connaître la raison de cette pratique.
4 votes
Duplicata possible de Quand utiliser pathParams ou QueryParams ?