创建新操作的Web API总是会导致404错误
问题描述:
我一直在试图扩展我的帐户控制器以适应我的web api,但是我似乎无法获得新的操作。我只想要一个取得字符串的动作。所以我写了我的动作是这样的:创建新操作的Web API总是会导致404错误
更新:如果我删除了参数(字符串VAL)这个动作现在的工作=()
[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);
});
};
它是所有格式化后的URL是这样:
我的控制器中的其他任何操作都可以工作,但是我无法创建新的操作?
答
续研究:
JavaScript并不是简单地发送一个字符串,它发送一个JSON对象以键/值对。当我正在查找字符串时,web api操作不理解此对象。
我提出的解决方案:
[AllowAnonymous]
[Route("Stuff")]
public IHttpActionResult Stuff(Dynamic Data)
{
return Ok();
}
通过改变输入到动态类型的数据可以来自任何形式的对象。
[将JSON字符串发布到WEB API]可能重复(http://*.com/questions/36567136/post-json-string-to-web-api) – Igor
重复提供了一个很好的解决方案,但是我喜欢我的更多。 –