私は ASP.NET Web API を初めて使用しましたが、非常に厄介な制限が 1 つあります。post メソッドへの 1 つのパラメーターのみをサポートします。(詳細はこちら: Using jQuery to POST [FromBody] parameters to Web API )
そのリンクから、彼らはこのように設計しているようです。このような奇妙な制限があることは、私には意味がありません。
なぜこのように設計されたのか知っている人がいたら教えてください。
私は ASP.NET Web API を初めて使用しましたが、非常に厄介な制限が 1 つあります。post メソッドへの 1 つのパラメーターのみをサポートします。(詳細はこちら: Using jQuery to POST [FromBody] parameters to Web API )
そのリンクから、彼らはこのように設計しているようです。このような奇妙な制限があることは、私には意味がありません。
なぜこのように設計されたのか知っている人がいたら教えてください。
これが HTTP の仕組みです。HTTP POST は本文を送信します。Web API として、その本体は POST されるリソース オブジェクトを表します。
POST にある「オブジェクト」は、多くのプロパティを持つ複雑なオブジェクトになる可能性があるため、リソースを表すラッパー オブジェクトを作成できます。リソースのコレクションとしてのオブジェクトの配列にすることもできます。
補足として、RESTful Web API を設計している場合は、単一のリソースまたはリソースの配列 (オブジェクト) を、リソースのコレクションを表すエンドポイントに POST することをお勧めします。たとえば、生徒を /api/students に投稿すると、その生徒が追加されます。
多くのパラメーターを指定できますが、1 つのみしか指定できません。[FromBody]
これは、HTTP メッセージが 1 つの本文しか持てないためです。クエリ文字列のパラメーターに、好きな数のパラメーターをマップできます。