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?}");
});