如何在angularjs中调用web api get方法?

时间:2017-02-24 12:01:30

标签: angularjs codeigniter asp.net-web-api

您好我正在使用angular2应用程序开发web api应用程序。我正在尝试按以下方式提出请求。

下面是我的angularjs代码。在下面的代码中,role是可选参数。

var role = "SUPER_ADMIN";
    var url = '/api/users/' + role;
    return $http.get(url).then(function (response) {
        return response.data;
    });

这是我的控制器代码。

[RoutePrefix("api/users")]
  public class usersController : ApiController
 {
        [LoginCheck]
        [SuperAdmin]
        public HttpResponseMessage Get(string role)
        {
         //business logic here
        }
 }

我还有一个get方法,如下所示。这被称为上面的内容。

 [HttpGet]
    [ActionName("me")]
    public HttpResponseMessage Get()
    {
    }

Aboce代码不起作用。我可以在这里得到一些帮助吗?任何帮助,将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:0)

你能不在你的两个动作上加上[Route]属性并在api中启用AttributeRouting?因此,如果执行此操作,则通过指定特定的操作名称来调用端点。所以像这样:

    [LoginCheck]
    [SuperAdmin]
    [Route("AdminGet/{role}")]
    public HttpResponseMessage Get(string role)
    {
     //business logic here
    }

    [HttpGet]
    [ActionName("me")]
    [Route("UserGet")]
    public HttpResponseMessage Get()
    {
    }

并且您的终端变为: http://servername/api/users/adminget?role= “东西” http://servername/api/users/userget