我只是想知道调用Web api方法的更好方法是什么?优点和缺点?
选项1。 从ajax帖子调用web api
$.ajax({
url: 'localhost/api/user/adduser',
type: 'POST',
data: JSON.stringify({ Id: Id }),
contentType: 'application/json; charset=utf-8',
success: function (result) {
},
error: function () {
alert("error");
}
});
或option2。 ajax发布到客户端控制器,然后使用rest客户端调用web api
$.ajax({
url: 'user/adduser/',
type: 'POST',
data: JSON.stringify({ Id: Id }),
contentType: 'application/json; charset=utf-8',
success: function (result) {
},
error: function () {
alert("error");
}
});
并致电api
public ActionResult addUser(int id)
{
var api = new RestClient("http://localhost:60081/api/");
var request = new RestRequest("/user/adduser", Method.POST);
var result = new User();
request.RequestFormat = DataFormat.Json;
request.AddJsonBody(id);
var resp = api.Execute(req);
}
答案 0 :(得分:1)
如果你控制api并且你不需要进一步丰富API调用,我个人的偏好是选项1,因为它节省了不必要的代码。
如果它是外部api,例如Instagram的API,我更喜欢选项2-,因为我可以使用其他信息来丰富API,例如我想要私有的AccessToken(而不是嵌入式)在JS)。