0

これが重複した質問である場合は申し訳ありませんが、Googleが私を理解するほど賢くないか、理解できるほど簡単に私の質問を表現できないほど愚かです.

これが私の問題かどうかはわかりませんが、90% はこれだと確信しています。Web サービスが 404 を返さないように、GET 要求内で Unix パスを表す方法を知りたいです。クエリ内の JSON フィールドの 1 つが Unix パスであり、スラッシュが原因だと思います。 Web サービスは、それが URL の一部であり、クエリの一部ではないと考えています。

たとえば、Mozilla のアドオンである RESTClient を使用して Web サービスをテストしています。POST リクエストの場合、URL として入力します

http://mytestserver:8080/mydir/

本文には、JSON オブジェクトを入れました

{"ファイル名":"obit.jpg", "パス":" test/2/1 "}

この方法はうまくいきます。ステータス コード 200 が返され、期待される出力を含む JSON オブジェクトが返されます。

GET 要求に同じ文字列を使用すると、ステータス コード 404 が返され、JSON オブジェクトが返されません。URLとしてRESTClientに入れました

http://mytestserver:8080/mydir/{"filename":"obit.jpg", "Path":"test/2/1"}

ステータスコード404が返され、応答本文には404 - Not foundとだけ表示されます

私の理論をさらにテストするために、GET リクエストに次の URL を入力し、パスから /2/1 を削除しました。

http://mytestserver:8080/mydir/{"filename":"obit.jpg", "Path":"test"}

JSON文字列全体を引用符で囲んでカプセル化しようとしましたが、それもうまくいかなかったため、試してみることができませんでした.

あなたが私に与えることができる助けを前もって感謝します。コードを表示する必要がある場合はお知らせください。コードの問題ではなく、表現の問題だと思います。ありがとう。

4

1 に答える 1

0

JSONオブジェクトは通常、GETではなくPOSTを介して送信されることがわかりました。GETでURLに追加したので問題がありました。クエリに「/」を含むGETリクエストを送信する方法ごと

于 2012-12-19T02:31:17.550 に答える