Skip to content

Commit 8fb48c3

Browse files
authored
Set DisplayName using endpoint name
1 parent c5fa42f commit 8fb48c3

File tree

3 files changed

+16
-18
lines changed

3 files changed

+16
-18
lines changed

src/Http/Routing/src/Builder/MinimalActionEndpointRouteBuilderExtensions.cs

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,8 @@ public static MinimalActionEndpointConventionBuilder MapMethods(
109109
}
110110

111111
var builder = endpoints.Map(RoutePatternFactory.Parse(pattern), action);
112-
builder.WithDisplayName($"{pattern} HTTP: {string.Join(", ", httpMethods)}");
112+
// Prepends the HTTP method to the DisplayName produced with pattern + method name
113+
builder.Add(b => b.DisplayName = $"HTTP: {string.Join(", ", httpMethods)} {b.DisplayName}");
113114
builder.WithMetadata(new HttpMethodMetadata(httpMethods));
114115
return builder;
115116
}
@@ -191,16 +192,14 @@ public static MinimalActionEndpointConventionBuilder Map(
191192
// be filtered that way.
192193
if (action.Target == null || !TypeHelper.IsCompilerGenerated(action.Method.Name))
193194
{
194-
if (GeneratedNameParser.TryParseLocalFunctionName(action.Method.Name, out var endpointName))
195+
if (!GeneratedNameParser.TryParseLocalFunctionName(action.Method.Name, out var endpointName))
195196
{
196-
builder.Metadata.Add(new EndpointNameMetadata(endpointName));
197-
builder.Metadata.Add(new RouteNameMetadata(endpointName));
198-
}
199-
else
200-
{
201-
builder.Metadata.Add(new EndpointNameMetadata(action.Method.Name));
202-
builder.Metadata.Add(new RouteNameMetadata(action.Method.Name));
197+
endpointName = action.Method.Name;
203198
}
199+
200+
builder.Metadata.Add(new EndpointNameMetadata(endpointName));
201+
builder.Metadata.Add(new RouteNameMetadata(endpointName));
202+
builder.DisplayName = $"{builder.DisplayName} => {endpointName}";
204203
}
205204

206205
// Add delegate attributes as metadata

src/Http/Routing/src/Builder/RoutingEndpointConventionBuilderExtensions.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
// The .NET Foundation licenses this file to you under the MIT license.
33

44
using System;
5-
using System.Linq;
65
using Microsoft.AspNetCore.Routing;
76

87
namespace Microsoft.AspNetCore.Builder

src/Http/Routing/test/UnitTests/Builder/MinimalActionEndpointRouteBuilderExtensionsTest.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ public void MapGet_BuildsEndpointWithCorrectMethod()
9999
Assert.Equal("GET", method);
100100

101101
var routeEndpointBuilder = GetRouteEndpointBuilder(builder);
102-
Assert.Equal("/ HTTP: GET", routeEndpointBuilder.DisplayName);
102+
Assert.Equal("HTTP: GET /", routeEndpointBuilder.DisplayName);
103103
Assert.Equal("/", routeEndpointBuilder.RoutePattern.RawText);
104104
}
105105

@@ -125,7 +125,7 @@ public async Task MapGetWithRouteParameter_BuildsEndpointWithRouteSpecificBindin
125125
Assert.Equal("GET", method);
126126

127127
var routeEndpointBuilder = GetRouteEndpointBuilder(builder);
128-
Assert.Equal("/{id} HTTP: GET", routeEndpointBuilder.DisplayName);
128+
Assert.Equal("HTTP: GET /{id}", routeEndpointBuilder.DisplayName);
129129
Assert.Equal("/{id}", routeEndpointBuilder.RoutePattern.RawText);
130130

131131
// Assert that we don't fallback to the query string
@@ -163,7 +163,7 @@ public async Task MapGetWithoutRouteParameter_BuildsEndpointWithQuerySpecificBin
163163
Assert.Equal("GET", method);
164164

165165
var routeEndpointBuilder = GetRouteEndpointBuilder(builder);
166-
Assert.Equal("/ HTTP: GET", routeEndpointBuilder.DisplayName);
166+
Assert.Equal("HTTP: GET /", routeEndpointBuilder.DisplayName);
167167
Assert.Equal("/", routeEndpointBuilder.RoutePattern.RawText);
168168

169169
// Assert that we don't fallback to the route values
@@ -205,7 +205,7 @@ public async Task MapVerbWithExplicitRouteParameterIsCaseInsensitive(Action<IEnd
205205
Assert.Equal(expectedMethod, method);
206206

207207
var routeEndpointBuilder = GetRouteEndpointBuilder(builder);
208-
Assert.Equal($"/{{ID}} HTTP: {expectedMethod}", routeEndpointBuilder.DisplayName);
208+
Assert.Equal($"HTTP: {expectedMethod} /{{ID}}", routeEndpointBuilder.DisplayName);
209209
Assert.Equal($"/{{ID}}", routeEndpointBuilder.RoutePattern.RawText);
210210

211211
var httpContext = new DefaultHttpContext();
@@ -241,7 +241,7 @@ public async Task MapVerbWithRouteParameterDoesNotFallbackToQuery(Action<IEndpoi
241241
Assert.Equal(expectedMethod, method);
242242

243243
var routeEndpointBuilder = GetRouteEndpointBuilder(builder);
244-
Assert.Equal($"/{{ID}} HTTP: {expectedMethod}", routeEndpointBuilder.DisplayName);
244+
Assert.Equal($"HTTP: {expectedMethod} /{{ID}}", routeEndpointBuilder.DisplayName);
245245
Assert.Equal($"/{{ID}}", routeEndpointBuilder.RoutePattern.RawText);
246246

247247
// Assert that we don't fallback to the query string
@@ -281,7 +281,7 @@ public void MapPost_BuildsEndpointWithCorrectMethod()
281281
Assert.Equal("POST", method);
282282

283283
var routeEndpointBuilder = GetRouteEndpointBuilder(builder);
284-
Assert.Equal("/ HTTP: POST", routeEndpointBuilder.DisplayName);
284+
Assert.Equal("HTTP: POST /", routeEndpointBuilder.DisplayName);
285285
Assert.Equal("/", routeEndpointBuilder.RoutePattern.RawText);
286286
}
287287

@@ -301,7 +301,7 @@ public void MapPut_BuildsEndpointWithCorrectMethod()
301301
Assert.Equal("PUT", method);
302302

303303
var routeEndpointBuilder = GetRouteEndpointBuilder(builder);
304-
Assert.Equal("/ HTTP: PUT", routeEndpointBuilder.DisplayName);
304+
Assert.Equal("HTTP: PUT /", routeEndpointBuilder.DisplayName);
305305
Assert.Equal("/", routeEndpointBuilder.RoutePattern.RawText);
306306
}
307307

@@ -321,7 +321,7 @@ public void MapDelete_BuildsEndpointWithCorrectMethod()
321321
Assert.Equal("DELETE", method);
322322

323323
var routeEndpointBuilder = GetRouteEndpointBuilder(builder);
324-
Assert.Equal("/ HTTP: DELETE", routeEndpointBuilder.DisplayName);
324+
Assert.Equal("HTTP: DELETE /", routeEndpointBuilder.DisplayName);
325325
Assert.Equal("/", routeEndpointBuilder.RoutePattern.RawText);
326326
}
327327

0 commit comments

Comments
 (0)