使用 RouteEndpointBuilder ASP.NET Core 6 在最小 API 中设置路由的顺序优先级



我正在尝试使用应用程序设置在最小API中定义的Routes(具有相同路径:api/v1/users(的顺序。通过给两个定义下订单来映射(..(,以便一次只使用一个

我正在使用以下信息代码:

var endPt1 = new RouteEndpointBuilder(emptyDelegate, RoutePatternFactory.Parse("/api/v1/users"), 1);
app.Map(endPt1.RoutePattern, getUser1);
var endPt2 = new RouteEndpointBuilder(emptyDelegate, RoutePatternFactory.Parse("/api/v1/users"),2);
app.Map(endPt2.RoutePattern, getUser2);

RoutePattern.InboundPrecedence中,endPt1和endPt2中的值相同。

如何正确设置顺序,以便在相同路径的时间内,只调用一个优先级较低的路由?

Repo链接:github上的代码链接路径:\AppNet6\模块

通过约定配置EndpointBuilder可以解决此问题:

app.Map("/api/v1/users",emptyDelegate(.Add(静态生成器=>((RouteEndpointBuilder(生成器(.Order=1(