API コントローラの 1 つに、単一の文字列値を取る POST メソッドがあります。
public string Post([FromBody] string foo) {
return(fooOracle.ValidateFoo(foo) ? "success" : "failure");
}
投稿リクエストの本文を次のように使用して、これに投稿しています。
foo=123412341234
(つまり、HTTP クライアントを使用するだけでなく、ブラウザ フォームを送信することによって開始できる通常の HTTP POST です)
WebAPI のリリース候補版では、これは黙って動作を停止しました - foo をバインドしなくなりました。コードを機能させるには、メソッドを次のように置き換える必要がありました。
public string Post(FormDataCollection form) {
var foo = form.Get("foo");
return(fooOracle.ValidateFoo(foo) ? "success" : "failure");
}
これは機能しますが、ちょっと面倒で、以前のバージョンよりもテストするのにかなり多くの配管が必要です。
微妙な変更を見逃したのでしょうか、それとも [FromBody] バインディング構文が非推奨になり、このかなり冗長なバインディング構文が推奨されたのでしょうか? この属性はまだありますが、RC バージョンで実際に何をするのかははっきりしていません。