既定では、モデル バインディングは、HTTP 要求で次のソースからキーと値のペアの形式でデータを取得します。
- フォーム フィールド
- リクエストボディ ([ApiController] 属性を持つコントローラーの場合)
- ルートデータ
- クエリ文字列パラメーター
- アップロードされたファイル
を使用せずにボディ データからモデル バインディングを追加する方法があることを知りたいと思っていApiControllerAttribute
ます。
私がこの質問をする理由は、私たちが asp net 5 から net core 5 に移行し、どのコンテンツ タイプ リクエストが来るかに依存せずにモデル パラメータをバインドしたいからです: withcontent-type: x-www-form-urlencoded
または withcontent-type application/json charset=utf-8
私はこの問題について多くのことを読みましたが、この記事[FromBody]
で説明されているように、属性を使用してコンテンツタイプごとにメソッドを分離するという決定しか見つけられませんでした。