创建新操作的Web API始终会导致404错误

时间:2017-02-22 14:16:33

标签: angularjs asp.net-web-api2

我一直在尝试为我的网络API扩展我的帐户控制器,但我似乎无法采取新的行动。我只想要一个能吸进字符串的动作。所以我写了这样的动作:

更新:如果我删除参数(String val)now =()

,此操作有效
[AllowAnonymous]
    [Route("Stuff")]
    public IHttpActionResult Stuff(String val)
    {


        return Ok();
    }

然后在我的AngularJS中,我写了一个函数来调用我的动作

function storeConnID (event, data){
        return $http({
            url: State.Endpoint + "/api/account/stuff",
            method: "POST",
            headers: {
                'Authorization' : 'Bearer '+ State.User.Access_Token
            },
            data: {
                val: data
            }
        }).then(function (res) { }, function (err) {
            console.log(err);
        });
    };

格式化之后的网址是这样的:

  

https://localhost:44375/api/account/stuff

我的控制器中的其他所有操作都有效,但我无法创建新的操作?

1 个答案:

答案 0 :(得分:0)

继续研究:

Javascript不是简单地发送一个字符串,而是发送一个带有键/值对的json对象。当我在寻找一个字符串时,web api动作不理解这个对象。

我建议的解决方案:

[AllowAnonymous]
    [Route("Stuff")]
    public IHttpActionResult Stuff(Dynamic Data)
    {


        return Ok();
    }

通过将输入更改为动态类型,数据可以作为任何形式的对象。