この記事では、主に @pathparamと@queryparamの違いを次のように研究しています。
今日、アップロード機能をデバッグしました。クライアントは携帯電話でデータを送信し、パラメーターをURLに添付します。背景は @pathparamを使用してそれを受信しますが、エラーが報告され、このパラメーターは取得できません。
URL:http:///192.168.1.3/web1_service/convert/vict_hj1000?unit=160106
@path( "/vict_hj1000")@post @consumes(mediatype.multipart_form_data)public response createvicthj1000detect( @formdataparam( "name0")inputstream uploadedinputStream、 @patharam( "unit")long)
言い換えれば、このユニットパラメーターを取得できない場合、何が起こっているのですか?
私はそれをオンラインでチェックして、その理由を見つけました。 URL内のパラメーターは誤って記述されているため、 @pathparamの背景を取得できなくなります。以下には、 @pathparamと@queryparamの違いをリストします。
1。 @pathparam、URLのスラッシュの直後にパラメーター値を追加します。たとえば、www.a.com/student/001;
2。@QueryParam、たとえばwww.a.com/student?id=001;
私のアプリケーションでは、URLはキー値のペアの形でパラメーターを使用しますが、背景は @pathparamを使用しているため、一致しないため、取得できません。
解決策は、URLを変更し、キー値ペアをキャンセルし、スラッシュ後にパラメーター値を直接追加し、次のように変更することです。
http://192.168.1.3/web1_service/convert/vict_hj1000/160106
バックグラウンドで@Pathアノテーションを変更し、次のように変更します。
@path( "/vict_hj1000/{unit}")問題が解決しました!
上記は、 @pathparamと@queryparamの違いに関するこの記事のすべての内容です。私はそれが誰にでも役立つことを願っています。興味のある友人は、このサイトの他の関連トピックを引き続き参照できます。欠点がある場合は、それを指摘するためにメッセージを残してください。このサイトへのご支援をありがとうございました!