REST APIは、いくつかの場所で引数を使用できます。
/api/resource?p1=v1&p2=v2
/api/resource/v1/v2
上記の1と2を選択する際のベストプラクティスと考慮事項は何ですか?
2対3について説明します こちら 。
上記の1〜2を選択する際のベストプラクティスと考慮事項は何ですか。
通常、コンテンツ本文は、サーバーとの間でアップロード/ダウンロードされるデータに使用され、クエリパラメーターは、要求された正確なデータを指定するために使用されます。たとえば、ファイルをアップロードするときは、本文に名前、MIMEタイプなどを指定しますが、ファイルのリストを取得するときは、クエリパラメーターを使用して、ファイルのプロパティでリストをフィルター処理できます。一般に、クエリパラメータは、データではなくクエリのプロパティです。
もちろん、これは厳密なルールではありません。あなたにとってより適切/効果があると思われる方法で実装できます。
クエリ文字列に関するウィキペディアの記事 、特に最初の2つの段落を確認することもできます。
あなたはPOST/PUTリクエストについて話していると思います。意味的には、リクエストの本文には、投稿またはパッチを適用するデータを含める必要があります。
URL(URI)の一部としてのクエリ文字列は、投稿またはパッチを適用するリソースを識別するためにあります。
次のセマンティクスは私のものですが、ベストプラクティスを求めました。もちろん、使用するWebフレームワークがこれをparametersに抽象化する場合は特に、経験則を使用しても機能するはずです。
あなたが最も知っている:
以下は私の経験則です...
本体を使用する場合:
クエリ文字列を使用する場合:
curl
application/octet-stream
などの異なるコンテンツタイプを送信している場合組み合わせて使用できることに注意してください。一般的なもの、デバッグ可能なものをクエリ文字列に入れ、残りをすべてjsonにスローします。