Cet article étudie principalement la différence entre @pathparam et @Queryparam, comme suit.
Aujourd'hui, j'ai débogagé une fonction de téléchargement. Le client envoie des données avec un téléphone mobile et joint un paramètre à l'URL. L'arrière-plan utilise @pathparam pour le recevoir, mais une erreur est signalée et ce paramètre ne peut pas être obtenu.
URL: http://192.168.1.3/web1_service/convert/vict_hj1000?unit=160106
@Path ("/ vict_hj1000") @post @consumes (mediatype.multipart_form_data) Réponse publique createVicThj1000detect (@formDataparam ("name0") InputStream uploadInputStream, @PathParam ("unité") Long Unité) JSONException { En d'autres termes, si ce paramètre unitaire ne peut pas être obtenu, que se passe-t-il?
Je l'ai vérifié en ligne et j'ai trouvé la raison. Les paramètres de l'URL sont mal écrits, ce qui rend l'arrière-plan @pathparam incapable d'être obtenu. Le suivant répertorie les différences entre @PathParam et @QueryParam:
1. @PathParam, ajoutez des valeurs de paramètres directement après la barre oblique dans l'URL, par exemple: www.a.com/student/001;
2. @QueryParam, ajouter des paramètres sous la forme de [paire de valeurs clés] à l'URL, par exemple: www.a.com/student?id=001;
Dans mon application, URL utilise des paramètres sous la forme de paires de valeurs clés, tandis que l'arrière-plan utilise @pathparam, qui ne correspond pas, il ne peut donc pas être obtenu.
La solution consiste à modifier l'URL, à annuler la paire de valeurs de clé, à ajouter directement la valeur du paramètre après la barre oblique et à le modifier en:
http://192.168.1.3/web1_service/convert/vict_hj1000/160106
Et modifiez l'annotation @Path en arrière-plan et changez-le en:
@Path ("/ vict_hj1000 / {unit}")Problème résolu!
Ce qui précède est tout le contenu de cet article sur la différence entre @PathParam et @QueryParam. J'espère que ce sera utile à tout le monde. Les amis intéressés peuvent continuer à se référer à d'autres sujets connexes sur ce site. S'il y a des lacunes, veuillez laisser un message pour le signaler. Merci vos amis pour votre soutien pour ce site!