diff --git a/src/Http/Routing/src/Builder/EndpointRouteBuilderExtensions.cs b/src/Http/Routing/src/Builder/EndpointRouteBuilderExtensions.cs
index aa745b1b9829..48c8194196de 100644
--- a/src/Http/Routing/src/Builder/EndpointRouteBuilderExtensions.cs
+++ b/src/Http/Routing/src/Builder/EndpointRouteBuilderExtensions.cs
@@ -2,6 +2,7 @@
// The .NET Foundation licenses this file to you under the MIT license.
using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Routing;
using Microsoft.AspNetCore.Routing.Patterns;
@@ -227,6 +228,7 @@ static RequestDelegateResult CreateHandlerRequestDelegate(Delegate handler, Requ
/// A that can be used to further customize the endpoint.
[RequiresUnreferencedCode(MapEndpointUnreferencedCodeWarning)]
[RequiresDynamicCode(MapEndpointDynamicCodeWarning)]
+ [OverloadResolutionPriority(1)]
public static RouteHandlerBuilder MapGet(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@@ -245,6 +247,7 @@ public static RouteHandlerBuilder MapGet(
/// A that can be used to further customize the endpoint.
[RequiresUnreferencedCode(MapEndpointUnreferencedCodeWarning)]
[RequiresDynamicCode(MapEndpointDynamicCodeWarning)]
+ [OverloadResolutionPriority(1)]
public static RouteHandlerBuilder MapPost(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@@ -263,6 +266,7 @@ public static RouteHandlerBuilder MapPost(
/// A that can be used to further customize the endpoint.
[RequiresUnreferencedCode(MapEndpointUnreferencedCodeWarning)]
[RequiresDynamicCode(MapEndpointDynamicCodeWarning)]
+ [OverloadResolutionPriority(1)]
public static RouteHandlerBuilder MapPut(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@@ -281,6 +285,7 @@ public static RouteHandlerBuilder MapPut(
/// A that can be used to further customize the endpoint.
[RequiresUnreferencedCode(MapEndpointUnreferencedCodeWarning)]
[RequiresDynamicCode(MapEndpointDynamicCodeWarning)]
+ [OverloadResolutionPriority(1)]
public static RouteHandlerBuilder MapDelete(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@@ -299,6 +304,7 @@ public static RouteHandlerBuilder MapDelete(
/// A that can be used to further customize the endpoint.
[RequiresUnreferencedCode(MapEndpointUnreferencedCodeWarning)]
[RequiresDynamicCode(MapEndpointDynamicCodeWarning)]
+ [OverloadResolutionPriority(1)]
public static RouteHandlerBuilder MapPatch(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@@ -338,6 +344,7 @@ public static RouteHandlerBuilder MapMethods(
/// A that can be used to further customize the endpoint.
[RequiresUnreferencedCode(MapEndpointUnreferencedCodeWarning)]
[RequiresDynamicCode(MapEndpointDynamicCodeWarning)]
+ [OverloadResolutionPriority(1)]
public static RouteHandlerBuilder Map(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
@@ -413,6 +420,7 @@ public static RouteHandlerBuilder MapFallback(this IEndpointRouteBuilder endpoin
///
[RequiresUnreferencedCode(MapEndpointUnreferencedCodeWarning)]
[RequiresDynamicCode(MapEndpointDynamicCodeWarning)]
+ [OverloadResolutionPriority(1)]
public static RouteHandlerBuilder MapFallback(
this IEndpointRouteBuilder endpoints,
[StringSyntax("Route")] string pattern,
diff --git a/src/Http/Routing/src/Builder/FallbackEndpointRouteBuilderExtensions.cs b/src/Http/Routing/src/Builder/FallbackEndpointRouteBuilderExtensions.cs
index bf8473679f89..7f739cea4283 100644
--- a/src/Http/Routing/src/Builder/FallbackEndpointRouteBuilderExtensions.cs
+++ b/src/Http/Routing/src/Builder/FallbackEndpointRouteBuilderExtensions.cs
@@ -4,6 +4,7 @@
using System.Diagnostics.CodeAnalysis;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Routing;
+using Microsoft.AspNetCore.Routing.Patterns;
namespace Microsoft.AspNetCore.Builder;
@@ -74,7 +75,7 @@ public static IEndpointConventionBuilder MapFallback(
ArgumentNullException.ThrowIfNull(pattern);
ArgumentNullException.ThrowIfNull(requestDelegate);
- var conventionBuilder = endpoints.Map(pattern, requestDelegate);
+ var conventionBuilder = endpoints.Map(RoutePatternFactory.Parse(pattern), requestDelegate);
conventionBuilder.WithDisplayName("Fallback " + pattern);
conventionBuilder.Add(b => ((RouteEndpointBuilder)b).Order = int.MaxValue);
conventionBuilder.WithMetadata(FallbackMetadata.Instance);
diff --git a/src/Http/Routing/src/ShortCircuit/RouteShortCircuitEndpointRouteBuilderExtensions.cs b/src/Http/Routing/src/ShortCircuit/RouteShortCircuitEndpointRouteBuilderExtensions.cs
index e9e592706b1c..883915a17ea5 100644
--- a/src/Http/Routing/src/ShortCircuit/RouteShortCircuitEndpointRouteBuilderExtensions.cs
+++ b/src/Http/Routing/src/ShortCircuit/RouteShortCircuitEndpointRouteBuilderExtensions.cs
@@ -3,6 +3,7 @@
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http;
+using Microsoft.AspNetCore.Routing.Patterns;
namespace Microsoft.AspNetCore.Routing;
@@ -34,7 +35,7 @@ public static IEndpointConventionBuilder MapShortCircuit(this IEndpointRouteBuil
{
route = $"{routePrefix}/{{**catchall}}";
}
- group.Map(route, _shortCircuitDelegate)
+ group.Map(RoutePatternFactory.Parse(route), _shortCircuitDelegate)
.ShortCircuit(statusCode)
.Add(endpoint =>
{
diff --git a/src/Middleware/HealthChecks/src/Builder/HealthCheckEndpointRouteBuilderExtensions.cs b/src/Middleware/HealthChecks/src/Builder/HealthCheckEndpointRouteBuilderExtensions.cs
index 6e3c01498cd0..a4c03e410413 100644
--- a/src/Middleware/HealthChecks/src/Builder/HealthCheckEndpointRouteBuilderExtensions.cs
+++ b/src/Middleware/HealthChecks/src/Builder/HealthCheckEndpointRouteBuilderExtensions.cs
@@ -4,6 +4,7 @@
using System.Diagnostics.CodeAnalysis;
using Microsoft.AspNetCore.Diagnostics.HealthChecks;
using Microsoft.AspNetCore.Routing;
+using Microsoft.AspNetCore.Routing.Patterns;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Diagnostics.HealthChecks;
using Microsoft.Extensions.Options;
@@ -68,6 +69,6 @@ private static IEndpointConventionBuilder MapHealthChecksCore(IEndpointRouteBuil
.UseMiddleware(args)
.Build();
- return endpoints.Map(pattern, pipeline).WithDisplayName(DefaultDisplayName);
+ return endpoints.Map(RoutePatternFactory.Parse(pattern), pipeline).WithDisplayName(DefaultDisplayName);
}
}
diff --git a/src/SignalR/common/Http.Connections/src/ConnectionEndpointRouteBuilderExtensions.cs b/src/SignalR/common/Http.Connections/src/ConnectionEndpointRouteBuilderExtensions.cs
index 8ed01395df6c..c922fb1457f4 100644
--- a/src/SignalR/common/Http.Connections/src/ConnectionEndpointRouteBuilderExtensions.cs
+++ b/src/SignalR/common/Http.Connections/src/ConnectionEndpointRouteBuilderExtensions.cs
@@ -7,6 +7,7 @@
using Microsoft.AspNetCore.Http.Connections.Internal;
using Microsoft.AspNetCore.Http.Timeouts;
using Microsoft.AspNetCore.Routing;
+using Microsoft.AspNetCore.Routing.Patterns;
using Microsoft.Extensions.DependencyInjection;
namespace Microsoft.AspNetCore.Builder;
@@ -99,7 +100,7 @@ public static ConnectionEndpointRouteBuilder MapConnections(this IEndpointRouteB
app.Run(c => dispatcher.ExecuteNegotiateAsync(c, options));
var negotiateHandler = app.Build();
- var negotiateBuilder = endpoints.Map(pattern + "/negotiate", negotiateHandler);
+ var negotiateBuilder = endpoints.Map(RoutePatternFactory.Parse(pattern + "/negotiate"), negotiateHandler);
conventionBuilders.Add(negotiateBuilder);
// Add the negotiate metadata so this endpoint can be identified
negotiateBuilder.WithMetadata(_negotiateMetadata);
@@ -111,7 +112,7 @@ public static ConnectionEndpointRouteBuilder MapConnections(this IEndpointRouteB
app.Run(c => dispatcher.ExecuteAsync(c, options, connectionDelegate));
var executehandler = app.Build();
- var executeBuilder = endpoints.Map(pattern, executehandler);
+ var executeBuilder = endpoints.Map(RoutePatternFactory.Parse(pattern), executehandler);
executeBuilder.WithMetadata(new DisableRequestTimeoutAttribute());
conventionBuilders.Add(executeBuilder);