gpt4 book ai didi

c# - 这里有什么问题?? webapi + Angular + 发布

转载 作者:行者123 更新时间:2023-11-30 12:56:23 25 4
gpt4 key购买 nike

有些奇怪的事情正在发生......我真的不明白为什么......这篇文章只有在将 id 参数类型从 int 更改为 object 时才有效。

我知道最好的方法是在 url 中设置值...但是我试图避免这种情况...我更喜欢将值发布为 json

public IHttpActionResult Gettest(int id) = 不工作!

{"Message":"No HTTP resource was found that matches the request URI 'http://localhost:23052/api/testAPI/Gettest'.","MessageDetail":"No action was found on the controller 'testAPI' that matches the request."}

public IHttpActionResult Gettest(object id) = 有效

this runs nice

我做错了什么?....我试图在服务器/客户端将参数名称从“id”更改为“x”,但我得到了相同的结果。

config.Routes.MapHttpRoute("DefaultActionApi", "api/{controller}/{action}/{id}", new { id = RouteParameter.Optional });

WebApiConfig.cs

     [HttpPost]
public IHttpActionResult Gettest(int id)
{
test test = db.tests.Find(id);
if (test == null)
{
return NotFound();
}

return Ok(test);
}

testAPIController.cs

        $http.post("/api/testAPI/Gettest", id)
.success(function (result) {


$scope.test = result;


}).error(function (result) {
console.log(result);
});

Angular 柱

最佳答案

将您的 $http 请求更改为以下内容。无需编写操作方法名称,它将仅通过 Controller 名称调用。 Web api 基于 HTTP VERBS 工作,因此只需将您的请求替换为以下代码:

$http.post("/api/testAPI/"+ id)
.success(function (result) {
$scope.test = result;
}).error(function (result) {
console.log(result);
});

关于c# - 这里有什么问题?? webapi + Angular + 发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41435787/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com