Este artigo estuda principalmente a diferença entre @pathparam e @queryparam, como segue.
Hoje, depurei uma função de upload. O cliente envia dados com um telefone celular e anexa um parâmetro à URL. O plano de fundo usa @PathParam para recebê -lo, mas um erro é relatado e esse parâmetro não pode ser obtido.
URL: http://192.168.1.3/web1_service/convert/vict_hj1000?unit=160106
@Path ("/vict_hj1000") @Post @Consumes (MediaType.multipart_form_data) Resposta pública Createvicthj1000Detect (@FormDataParam ("name0") inputStream UploadEdInputStream, @PathParam ("unidade") Long Unit) Trows Em outras palavras, se este parâmetro da unidade não puder ser obtido, o que está acontecendo?
Eu verifiquei on -line e encontrei o motivo. Os parâmetros no URL são escritos incorretamente, o que torna o plano de fundo @PathParam incapaz de ser obtido. O seguinte lista as diferenças entre @pathparam e @queryparam:
1. @PathParam, adicione valores de parâmetros diretamente após a barra no URL, por exemplo: www.a.com/student/001;
2. @QueryParam, adicione parâmetros na forma de [par de valores-chave] ao URL, por exemplo: www.a.com/student?id=001;
No meu aplicativo, a URL usa parâmetros na forma de pares de valor-chave, enquanto o plano de fundo usa @PathParam, que não corresponde, por isso não pode ser obtido.
A solução é modificar o URL, cancelar o par de valores-chave, adicionar diretamente o valor do parâmetro após a barra e alterá-lo para:
http://192.168.1.3/web1_service/convert/vict_hj1000/160106
E modifique a anotação @Path em segundo plano e altere -a para:
@Path ("/vict_hj1000/{unit}")Problema resolvido!
O exposto acima é todo o conteúdo deste artigo sobre a diferença entre @PathParam e @QueryParam. Espero que seja útil para todos. Amigos interessados podem continuar se referindo a outros tópicos relacionados neste site. Se houver alguma falha, deixe uma mensagem para apontá -la. Obrigado amigos pelo seu apoio para este site!