我正在使用 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中。除了控制器的顶部,我在这里找不到默认路由。
谢谢
答案 0 :(得分:1)
您可以在方法上重新定义每个属性的路由:
[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?}");
});