ASP.NET 核心 Web API 中的自定义操作
Custom Actions in ASP.NET Core Web API
我正在使用 ASP.NET core 2.0 Web API 模板,我有几个疑问:
1)我如何创建自定义操作并将 URI 映射到它们。就像我有一个员工模型,我想创建一个 API 操作 (EmployeesByAge),它获取年龄超过我提供给 API 的员工的数量。但是我无法映射到 it.Like 我想像这样点击 api:api/controller/EmployeesByAge/23 但它被映射到 deault Get 方法并将 'EmployeesByAge' 作为 ID.So 如何定义自定义路由。
2)路由定义在哪里?就像在 MVC 中一样,它们在 Startup.cs 中。除了在控制器的顶部,我在这里找不到默认路由。
谢谢
您可以在方法上重新定义每个属性的路由:
[HttpGet("filter/{age}")
public IActionResult EmployeesByAge(int age) { }
(默认)路线在 Startup.cs
(Microsoft Documentation) 中定义。
在Configure
-方法中:
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller}/{action=Index}/{id?}");
});
我正在使用 ASP.NET core 2.0 Web API 模板,我有几个疑问:
1)我如何创建自定义操作并将 URI 映射到它们。就像我有一个员工模型,我想创建一个 API 操作 (EmployeesByAge),它获取年龄超过我提供给 API 的员工的数量。但是我无法映射到 it.Like 我想像这样点击 api:api/controller/EmployeesByAge/23 但它被映射到 deault Get 方法并将 'EmployeesByAge' 作为 ID.So 如何定义自定义路由。
2)路由定义在哪里?就像在 MVC 中一样,它们在 Startup.cs 中。除了在控制器的顶部,我在这里找不到默认路由。
谢谢
您可以在方法上重新定义每个属性的路由:
[HttpGet("filter/{age}")
public IActionResult EmployeesByAge(int age) { }
(默认)路线在 Startup.cs
(Microsoft Documentation) 中定义。
在Configure
-方法中:
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller}/{action=Index}/{id?}");
});