我正在使用 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....
});
}
这行得通!但我工作的朋友说
我实际上只是在获取数据,应该使用“GET”而不是“POST”。因为 GET 用于检索远程数据,而 POST 用于插入/更新远程数据。
我也觉得他是对的。那么我应该如何使用 'GET' 来做到这一点?
我是否必须将所有这些参数(至少有 10 个)作为查询字符串传递?
例如:api/FetchProduct/?Name='aaa'&&Category='vvv'&&.........
所以我的问题是在这种情况下应该怎么做?我想知道其他开发人员对此有何看法。谢谢