gpt4 book ai didi

c# - Web API Asp.Net 6 路由说明

转载 作者:行者123 更新时间:2023-12-05 01:23:40 25 4
gpt4 key购买 nike

我在我的项目中使用 Asp.net 6 Web API,我对理解路由功能感到困惑。以前当我们构建 API 时,我们使用以下中间件

app.UseRouting()

...Other middleware

app.UseEndPoints()

但是现在在Asp.Net 6中默认使用这个方式

    app.UseAuthentication();
app.UseAuthorization();

app.MapControllers()

无需使用 app.UseRouting()app.UseEndPoints() 而是在其他中间件之后直接使用 app.MapControllers()

我想知道 app.MapControllers() 在内部做了什么?是不是默认所有路由都授权了?

注册路由前如何使用其他中间件?我对这些方法之间的理解有点困惑

app.UseRouting() VS app.UseEndpoints() VS app.MapControllers();

最佳答案

UseRouting:将请求匹配到端点。

UseEndpoints:执行匹配的端点。

MapControllers:这不会对路由做出任何假设,而是依赖于用户执行属性路由(最常用于 WebAPI Controller )以将请求发送到正确的位置。

This makes the ASP.NET Core framework more flexible and allows other middlewares to act between UseRouting and UseEndpoints. That allows those middlewares to utilize the information from endpoint routing, for example, the call to UseAuthentication must go after UseRouting, so that route information is available for authentication decisions and before UseEndpoints so that users are authenticated before accessing the endpoints.

关于c# - Web API Asp.Net 6 路由说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72063619/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com