コンテキスト: Asp.net Core 2.1のWebAPI では、POST エンドポイントを作成する必要があります
[server]/MyController/{Parameter1}/MoreRouteThing/
。IInputFormatter
デフォルトのフォーマッタでは本文を読み取れないため、カスタムを作成する必要があります。
問題: 入力をフォーマットできるようにするにはIInputFormatter
、 の値を知る必要がありますParameter1
。
IModelBinder
このモデルを処理するカスタムを実装し、カスタムをstartup.cs
使用してすべてを配線しましたIModelBinderProvider
(おそらくやり過ぎですが、チェーン全体を理解したかったのです)。
custom 内では、似たようなものを使用してIModelBinder
アクセスできますが、それを に渡す方法がわかりません。前者は後者に を渡しますが、そのコンテキスト オブジェクト内には追加情報を格納するのに適切なものはないようです。{Parameter1}
bindingContext.ActionContext.RouteData.Values["Parameter1"]
IInputFormatter
InputFormatterContext
質問: から にデータを渡す方法IModelBinder
は? IInputFormatter
代わりに から直接 url/route を解析する必要があるIInputFormatter
ため、プロセス全体の「どこ」にあるかを認識できますか? (私には不潔に思えます。)