Web API中的路由。
路由机制会把一个请求的URL映射到一个Controller上面的Action。这一点很关键。也就说你发送一个Http请求,MVC框架会解析这个请求的URL,之后尝试把它去映射到一个Controller的Action上。
在ASP.NET CORE 3.0中,有两个路由中间件。中间件理解为http请求会穿越这些使用的配置。
在Startup的Configure中。
app.UseRouting(); 这个中间件的作用是标记路由决策在请求管道里发生的位置,即选择端点。
app.UseEndpoints();这个中间件的作用是标记选择好的端点在请求管道什么地方来执行。
路由有两种方式进行设置,基于属性更加适合Web API。
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
上面的代码仅仅映射了Controller没有使用任何约定。
这里就需要使用属性和URL模板了。
属性:例如[Route],[HttpGet],[HttpPost],我喜欢放在Action上面。
URL模板:结合属性就可以把请求正确的映射到Controller的Action上面。