【问题标题】:Calling a specific method in my Web API controller在我的 Web API 控制器中调用特定方法
【发布时间】:2013-05-17 23:05:09
【问题描述】:

所以我正在尝试调用这个特定的方法:

[HttpGet]
public int GetLogin(string u, string p)
{
    UserLogin uL = new UserLogin();
    return (int)uL.Authenticate(u, p);
}

但是它却一直在我的控制器中调用此方法:

public IEnumerable<string> Get()
{
    return new string[] { "value1", "value2" };
}

^^Controller中生成的代码。

这里是我工厂的 Angular 代码,更重要的是,我的 URI:

var loginFactory = angular.module('loginService', ['ngResource'])

loginFactory.factory('UserLogin', function ($resource) {
    return $resource('api/login?:username?:password', {}, {
        query: {
            method: 'GET',
            params: { username: 'hunter', password: 'hunter' },
            isArray:true
        }
    });
});

任何见解将不胜感激。谢谢。

【问题讨论】:

    标签: asp.net asp.net-mvc-4 angularjs asp.net-web-api angular-resource


    【解决方案1】:

    将您的资源更改为:

    $resource('api/GetLogin?u=:username&p=:password', {}, {  // if that's the right route
        query: {
            method: 'GET',
            params: { username: 'hunter', password: 'hunter' },
            isArray:true
        }
    });
    

    【讨论】:

    • 谢谢。您是否有任何指向教授此语法的资源的链接??
    【解决方案2】:

    您的请求是否类似于api/login?username=something&amp;password=something...? 如果是,则操作上的参数名称应与查询字符串参数名称匹配:

    public int GetLogin(string **username**, string **password**)

    【讨论】:

    • 你是说我的GetLogin中的参数名称(字符串用户名,字符串密码)?并且这些参数名称需要与我的参数匹配:我工厂中的名称?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-22
    • 2017-11-23
    • 1970-01-01
    • 2017-01-26
    • 2015-12-30
    • 2016-04-18
    • 1970-01-01
    相关资源
    最近更新 更多