ASP.NET Core Web API中的自定义操作

时间:2018-07-06 13:44:47

标签: c# asp.net-core-webapi asp.net-web-api-routing

我正在使用 ASP.NET core 2.0 Web API 模板,但我有一些疑问:

1)我如何创建自定义动作并将URI映射到它们。就像我有一个Employee模型一样,我想创建一个API动作(EmployeesByAge),该动作可提取年龄超过我提供给API的人数的员工。但是我无法映射到它,就像我想打api一样:api / controller / EmployeesByAge / 23,但它已映射到deault的Get方法并以'EmployeesByAge'作为ID,所以如何定义自定义路线。

2)路由在哪里定义?就像在MVC中一样,它们在Startup.cs中。除了控制器的顶部,我在这里找不到默认路由。

谢谢

1 个答案:

答案 0 :(得分:1)

您可以在方法上重新定义每个属性的路由:

[HttpGet("filter/{age}")
public IActionResult EmployeesByAge(int age) { }

(默认)路由在Startup.csMicrosoft Documentation)中定义。

Configure-方法中:

app.UseMvc(routes =>
{
    routes.MapRoute(
        name: "default",
        template: "{controller}/{action=Index}/{id?}");
});