Este artículo estudia principalmente la diferencia entre @pathparam y @QueryParam, como sigue.
Hoy, depugé una función de carga. El cliente envía datos con un teléfono móvil y adjunta un parámetro a la URL. El fondo usa @pathparam para recibirlo, pero se informa un error y este parámetro no se puede obtener.
URL: http://192.168.1.3/web1_service/convert/vict_hj1000?unit=160106
@Path ("/VICT_HJ1000") @POST @Consumes (Mediatype.multipart_Form_Data) Respuesta pública createVicThj1000Detect (@FormDataparam ("name0") EntryStream uploadEdInputStream, @PathParam ("units") Long Units Jsonexception { En otras palabras, si no se puede obtener este parámetro de la unidad, ¿qué está pasando?
Lo revisé en línea y encontré la razón. Los parámetros en la URL se escriben incorrectamente, lo que hace que el fondo @pathparam no pueda obtenerse. Lo siguiente enumera las diferencias entre @pathparam y @QueryParam:
1. @Pathparam, agregue valores de parámetros directamente después de la barra de corte en la URL, por ejemplo: www.a.com/student/001;
2. @QueryParam, agregue parámetros en forma de [par de valores clave] a la URL, por ejemplo: www.a.com/student?id=001;
En mi aplicación, URL usa parámetros en forma de pares de valor clave, mientras que el fondo usa @PathParam, que no coincide, por lo que no se puede obtener.
La solución es modificar la URL, cancelar el par de valores clave, agregar directamente el valor del parámetro después del corte y cambiarlo a:
http://192.168.1.3/web1_service/convert/vict_hj1000/160106
Y modifique la anotación @Path en segundo plano y cámbiela a:
@Path ("/VICT_HJ1000/{unidad}")¡Problema resuelto!
Lo anterior es todo el contenido de este artículo sobre la diferencia entre @pathparam y @QueryParam. Espero que sea útil para todos. Los amigos interesados pueden continuar referiéndose a otros temas relacionados en este sitio. Si hay alguna deficiencia, deje un mensaje para señalarlo. ¡Gracias amigos por su apoyo para este sitio!