決めるのは難しいです。
現在、データを x-www-form-urlencoded として php lib curl で送信しています
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($this->arguments));
また
curl_setopt($curl, CURLOPT_POSTFIELDS, $this->arguments);
最初の質問: 2 番目の方がコンテンツの長さが長いようですが、最初の解決策の方がおそらく優れていますか?
次のようなフラットなメッセージには実用的です。
{
"name": "John",
"token": "2121232145",
"code": "7",
"data": "Hello"
}
しかし、オブジェクトを表すデータ フィールドを持つこともできます。この場合はそれをエンコードしていましたが、それを行う (Json を URL エンコードする) ことは非常に冗長で醜いメッセージです。
反対側では、それを application/json content-type として送信してみました
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($this->arguments));
小さいメッセージの場合、コンテンツの長さは大きくなりますが、json が埋め込まれている場合は、明らかに優れています。
しかし、x-www-form-urlencoded は、json が埋め込まれている場合を除いて、送信する必要があるフォーム データにも近いです。
コンテンツ タイプに応じて 2 つの異なるサーブレット解析メソッドを使用するのはエレガントではないため、別のオプションはありますか?