正在设置自定义API路由
本文关键字:API 路由 自定义 设置 | 更新日期: 2023-09-27 17:58:04
在此使用ASP.NET 4.6。
我有一个控制器:
public class ComputerController : ApiController
{
...
[HttpGet]
[Route("api/computer/ping")]
public IHttpActionResult Ping(int id)
{
return Ok("hello");
}
...
}
主要根据这个答案(看看MSTdev的答案),我的WebApiConfig.cs
:中有这个
// So I can use [Route]?
config.MapHttpAttributeRoutes();
// handle the defaults.
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
这条路不通。我总是收到
No HTTP resource was found that matches the request URI
'http://localhost:29365/api/computer/ping'.
这似乎是一个简单的问题,但我仍然被难住了。有什么帮助吗?
您的路由缺少{id}参数。示例
[Route("api/category/{categoryId}")]
public IEnumerable<Order> GetCategoryId(int categoryId) { ... }
你的控制器应该是这样的:
public class ComputerController : ApiController
{
...
[HttpGet]
[Route("api/computer/ping/{id}")]
public IHttpActionResult Ping(int id)
{
return Ok("hello");
}
...
}