File tree Expand file tree Collapse file tree 1 file changed +37
-3
lines changed
DeveloperTools/Features/Routes Expand file tree Collapse file tree 1 file changed +37
-3
lines changed Original file line number Diff line number Diff line change @@ -105,10 +105,44 @@ private IEnumerable<RouteModel> GetRouteModels()
105105 return model ;
106106 }
107107
108- private string GetEndpointParameters ( RoutePattern pattern )
108+ private string GetEndpointParameters ( RoutePattern pattern ) =>
109+ string . Join ( ", " , pattern . Parameters . Select ( FormatRoutePatternParameter ) ) ;
110+
111+ private static string FormatRoutePatternParameter ( RoutePatternParameterPart part )
109112 {
110- return string . Join ( ", " ,
111- pattern . Parameters . Select ( _ => _ . Name ) ) ;
113+ var builder = new StringBuilder ( ) ;
114+ builder . Append ( '{' ) ;
115+
116+ if ( part . IsCatchAll )
117+ {
118+ builder . Append ( '*' ) ;
119+ if ( ! part . EncodeSlashes )
120+ {
121+ builder . Append ( '*' ) ;
122+ }
123+ }
124+
125+ builder . Append ( part . Name ) ;
126+
127+ foreach ( var constraint in part . ParameterPolicies )
128+ {
129+ builder . Append ( ':' ) ;
130+ builder . Append ( constraint . ParameterPolicy ) ;
131+ }
132+
133+ if ( part . Default != null )
134+ {
135+ builder . Append ( '=' ) ;
136+ builder . Append ( part . Default ) ;
137+ }
138+
139+ if ( part . IsOptional )
140+ {
141+ builder . Append ( '?' ) ;
142+ }
143+
144+ builder . Append ( '}' ) ;
145+ return builder . ToString ( ) ;
112146 }
113147
114148 private string GetEndpointMethods ( IGrouping < string , Endpoint > endpointGroup ) =>
You can’t perform that action at this time.
0 commit comments