私は MVC4 で WebAPI を使用しており、次のような http get を実行しています。
api_version=2&products=[{"id":97497,"name":"iPad"}]&pageno=1
この呼び出しにマップされる get アクション コントローラーのシグネチャは次のとおりです。
[HttpGet]
public string Get([FromUri] ProductRequest request){ ... }
問題は、上記の Get アクション メソッドに渡された ProductRequest オブジェクトに製品の null が含まれているのに、他のすべての値が OK であることです。
したがって、products=[{"id":97497,"name":"iPad"}] を次のように定義されている正しいオブジェクト タイプに変換する際に問題があるようです。
public IEnumerable<Products> products { get; set;}
ProductRequest モデルと Products クラスでは次のようになります。
public int id { get; set; }
public string name { get; set; }
追加情報として、GET の代わりに POST で同じ呼び出しを使用すると、正常に動作し、オブジェクトは適切に変換されます。
では、何が間違っているのでしょうか。http GET を取得して、クエリ パラメータを渡されたモデルに適切に変換するにはどうすればよいでしょうか。