デフォルトのASP.NETWebApiプロジェクトを作成する場合、デフォルトのValuesControllerには次のようなpostメソッドがあります。
// POST api/values
public void Post(string value)
{
}
私はHTTPリクエストでFilderからこのPOSTメソッドをテストしようとしていました:
POST /api/values
User-Agent: Fiddler
Host: localhost
Content-Type: application/x-www-form-urlencoded
value=abc
驚いたことに、入力パラメータ値はabcではなくnullです。確かにベータ版では動作しましたが、RC版では何かおかしいのでしょうか、それともこのように動作しなくなったのでしょうか?
もちろん、以下に強い型のオブジェクトを作成することで回避する別の方法があります。
public Class TestDto
{
public string Value { get; set; }
}
public void Post(TestDto testDto)
{
}
または、Jsonを使用します。
しかし、私はこれについてもっと理解したいと思います。