1

私は 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 を取得して、クエリ パラメータを渡されたモデルに適切に変換するにはどうすればよいでしょうか。

4

2 に答える 2

0

HTTP POST と HTTP GET を混同したと思うので、製品を null として取得しました。GETとPOSTの違いは何ですか

基本的に、 TempDataを使用できると思いますが、長所と短所があり、使用方法によって異なります。

于 2013-04-19T00:00:19.360 に答える