24

例:

問題: 検索用語が長すぎて、Web サーバーの URL の最大長を超えている可能性があります。

非常に長い検索語を許可し、RESTful を維持するにはどうすればよいですか?

4

3 に答える 3

40

インスピレーションを得るために、 「RESTful 呼び出しスタイルを使用しているGoogle Translate の API v2を見てみました。

当然、翻訳するテキストはかなり長くなります。そのため、Google はオプションで を使用してリクエストを送信できますPOSTが、ひねりがあります。

を使用するPOSTには、ヘッダーを使用して Translate API に要求を(使用)X-HTTP-Method-Overrideとして扱うように指示する必要があります。GETX-HTTP-Method-Override: GET

したがって、リクエストをリクエストに意味的に変換することができます。POSTGET

(この発見により、質問にタグを追加することになりました。)

于 2013-11-04T16:15:00.973 に答える
0

クエリが最大長を超えるほど長くなる可能性がある場合、それは悪臭です (ブラウザーのデファクトは 2000 文字ですが、REST API にアクセスする他の手段ではそれ以上になる可能性があります)。

ユーザーがそれだけの量のデータを渡すことができる場合は、URL ではなく、リクエストの本文/データ フィールドに入れる必要があります。

于 2013-11-04T15:28:13.817 に答える