web api找不到Get方法- 500错误
本文关键字:错误 方法 Get api 找不到 web | 更新日期: 2023-09-27 18:18:23
当我尝试调用web api以获得单个供应商时。它返回一个500的错误。
我尝试打破内部Get(Guid id),但它从来没有进入它。
我知道它正在到达控制器,但看起来它找不到Get(Guid id)函数。
知道为什么吗?我错过什么了吗?
web API路由config.Routes.MapHttpRoute(
name: "Module",
routeTemplate: "api/module/{controller}/{id}/{action}",
defaults: new { id = RouteParameter.Optional, action = RouteParameter.Optional }
);
api控制器namespace App.WebUI.Controllers.api.Module
{
public class VendorsController : ApiController
{
private readonly UnitOfWork _repository = new UnitOfWork();
// GET api/Module/vendors
[HttpGet]
public HttpResponseMessage Get()
{
return all;
}
// GET api/Module/vendors/5
[HttpGet]
public HttpResponseMessage Get(Guid id)
{
return single
}
// POST api/Module/vendors
[HttpPost]
public HttpResponseMessage Post(Vendor vendor)
{
insert single
}
[HttpPut]
//PUT api/Module/Vendors
public HttpResponseMessage Put(Vendor vendor)
{
update single
}
}
}
这是我必须做的工作。
config.Routes.MapHttpRoute(
name: "Module",
routeTemplate: "api/module/{controller}/{id}/{action}",
defaults: new { id = RouteParameter.Optional, action = "DefaultAction" }
);
然后在默认的Action(GET(), GET(id), POST(), PUT(), DELETE())中添加数据注释:[ActionName("DefaultAction")]