什么是实现web api的更好方法

时间:2016-03-03 10:13:33

标签: ajax asp.net-mvc rest asp.net-web-api2

我只是想知道调用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);
   }

1 个答案:

答案 0 :(得分:1)

如果你控制api并且你不需要进一步丰富API调用,我个人的偏好是选项1,因为它节省了不必要的代码。

如果它是外部api,例如Instagram的API,我更喜欢选项2-,因为我可以使用其他信息来丰富API,例如我想要私有的AccessToken(而不是嵌入式)在JS)。