diff --git a/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs b/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs index 2b4912a086..fd12ff706d 100644 --- a/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs +++ b/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs @@ -127,11 +127,16 @@ namespace Microsoft.AspNetCore.Routing var template = matcherEndpoint.RoutePattern.RawText; template = string.IsNullOrEmpty(template) ? "\"\"" : template; sb.Append(template); - var requiredValues = matcherEndpoint.RequiredValues.Select(kvp => $"{kvp.Key} = \"{kvp.Value ?? "null"}\""); sb.Append(", Required Values: new { "); - sb.Append(string.Join(", ", requiredValues)); + sb.Append(string.Join(", ", GetValues(matcherEndpoint.RequiredValues))); sb.Append(" }"); - sb.Append(", Order:"); + sb.Append(", Defaults: new { "); + sb.Append(string.Join(", ", GetValues(matcherEndpoint.RoutePattern.Defaults))); + sb.Append(" }"); + var routeNameMetadata = matcherEndpoint.Metadata.GetMetadata(); + sb.Append(", Route Name: "); + sb.Append(routeNameMetadata?.Name); + sb.Append(", Order: "); sb.Append(matcherEndpoint.Order); var httpMethodMetadata = matcherEndpoint.Metadata.GetMetadata(); @@ -140,7 +145,8 @@ namespace Microsoft.AspNetCore.Routing sb.Append(", Http Methods: "); sb.Append(string.Join(", ", httpMethodMetadata.HttpMethods)); } - + sb.Append(", Display Name: "); + sb.Append(matcherEndpoint.DisplayName); sb.AppendLine(); } else @@ -150,6 +156,20 @@ namespace Microsoft.AspNetCore.Routing } } return sb.ToString(); + + IEnumerable GetValues(IEnumerable> values) + { + return values.Select( + kvp => + { + var value = "null"; + if (kvp.Value != null) + { + value = "\"" + kvp.Value.ToString() + "\""; + } + return kvp.Key + " = " + value; + }); + } } } }