You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core 8.0如何用Minimal API实现类似Laravel的集中路由管理?

在ASP.NET Core Minimal API中实现类似Laravel的路由分组管理

完全可以实现类似Laravel的路由分组管理,不用把所有路由都堆在Program.cs里。下面是几种实用的实现方式:

方法1:用扩展方法封装路由组

创建单独的路由文件(比如UserRoutes.cs),把同前缀的路由逻辑封装成扩展方法,和Laravel的路由文件用法一致:

public static class UserRoutes
{
    public static IEndpointRouteBuilder MapUserRoutes(this IEndpointRouteBuilder app)
    {
        // 定义前缀为"/user"的路由组
        var userGroup = app.MapGroup("/user");

        // 映射组内路由,对应Laravel里的路由定义
        userGroup.MapGet("/ajout", () => Results.Ok("执行DevisController的create逻辑"))
                 .WithName("createdevis"); // 对应Laravel的'as'参数

        userGroup.MapGet("/list", () => Results.Ok("执行DevisController的listdevis逻辑"))
                 .WithName("listdevis");

        userGroup.MapGet("/transactions", () => Results.Ok("执行TransactionsController的list逻辑"))
                 .WithName("list_transactions");

        userGroup.MapGet("/Items", () => Results.Ok("执行ItemsController的list逻辑"))
                 .WithName("listitems");

        return app;
    }
}

然后在Program.cs里只需一行调用即可注册整个路由组:

var app = builder.Build();

// 注册用户模块路由组
app.MapUserRoutes();

app.Run();

方法2:用静态方法拆分路由逻辑

如果不想写扩展方法,也可以直接用静态方法把路由组逻辑抽离到单独文件(比如UserRouteDefinitions.cs):

public static class UserRouteDefinitions
{
    public static void DefineUserRoutes(IEndpointRouteBuilder app)
    {
        var userGroup = app.MapGroup("/user");

        userGroup.MapGet("/ajout", () => Results.Ok("创建单据"))
                 .WithName("createdevis");

        userGroup.MapGet("/list", () => Results.Ok("单据列表"))
                 .WithName("listdevis");

        // 其他路由...
    }
}

在Program.cs中调用该方法:

var app = builder.Build();

UserRouteDefinitions.DefineUserRoutes(app);

app.Run();

额外实用技巧

  • 路由组可以统一配置中间件、授权、CORS等规则,比如给整个/user组添加授权验证:
    var userGroup = app.MapGroup("/user").RequireAuthorization();
    
  • 可以按业务模块拆分多个路由文件(比如OrderRoutes.cs、ProductRoutes.cs),让路由结构和Laravel一样清晰。

内容的提问来源于stack exchange,提问作者Chargui Taieb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 22:27:09