回答:
上記の1と2の間で選択する場合のベストプラクティスと考慮事項は何ですか?
通常、コンテンツの本文はサーバーにアップロードまたはサーバーからダウンロードするデータに使用され、クエリパラメーターは要求された正確なデータを指定するために使用されます。たとえば、ファイルをアップロードするときは、本文で名前、MIMEタイプなどを指定しますが、ファイルのリストをフェッチするときは、クエリパラメータを使用して、ファイルのいくつかのプロパティでリストをフィルタリングできます。一般に、クエリパラメータはデータではなくクエリのプロパティです。
もちろん、これは厳密な規則ではありません。あなたにとってより適切で機能している方法で実装することができます。
また、クエリ文字列に関するウィキペディアの記事、特に最初の2つの段落を確認することもできます。
POST / PUTリクエストについて話していると思います。意味的には、リクエストの本文には、投稿またはパッチを適用するデータを含める必要があります。
クエリ文字列は、URL(URI)の一部として、投稿またはパッチを適用するリソースを識別するために存在します。
次のセマンティクスは私のものです。もちろん、経験則を使用しても機能するはずです。特に、使用するWebフレームワークがこれをパラメーターに抽象化する場合はそうです。
あなたは最も知っています:
以下は私の経験則です...
ボディをいつ使用するか:
クエリ文字列を使用する場合:
curl
application/octet-stream
混合して一致させることができます-一般的なもの、デバッグ可能なものをクエリ文字列に入れ、残りをすべてjsonにスローします。