私は Jquery と Jqgrid を使用して MVC 4 Web Api に取り組んでいますが、これまでポスト コントローラー アクションに複数のデータを投稿していました。
私の行動は以下のように見えました...
[ActionName("FetchProducts")]
public List<ABC> PostProducts(Product model)
{
return _service.GetSomething(model);
}
public class Product{
public string Name {get;set;}
public string Category {get;set;}
//.... and alteast 5 more properties
}
私のjquery呼び出しは以下のようなものでした...
$.ajax({
type: "POST",
url: /api/FetchProduct,
data: this.getData(),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: callback
});
function getData(){
return JSON.stringify({
Name: "from somewhere" ,
Category: "from somewhere",
Price: "from somewhere",
ABC: "from somewhere",
XYZ: "from somewhere",
//... and many more....
});
}
そしてこれはうまくいきます!でも職場の友達が言ってた
私は実際にはデータを取得しているだけなので、「POST」ではなく「GET」を使用する必要があります。GET はリモート データの取得に使用され、POST はリモート データの挿入/更新に使用されます。
そして私も彼が正しいと感じています。では、「GET」でこれを行うにはどうすればよいですか?
これらすべてのパラメーター (少なくとも 10 個あります) をクエリ文字列として渡す必要がありますか?
例のように:api/FetchProduct/?Name='aaa'&&Category='vvv'&&.........
だから私の質問は、そのようなシナリオで何をすべきかということです? 他の開発者がこれについてどう考えているか知りたいです。ありがとう