@@ -282,7 +282,7 @@ private List<Parameter> GetParameters(ApiDescription apiDescription)
282282
283283 parameterName = new string ( parameterName . Where ( c => char . IsLetterOrDigit ( c ) ) . ToArray ( ) ) ;
284284
285- var type = parameterDescription . Type ?? typeof ( string ) ;
285+ var type = parameterDescription . ModelMetadata ? . ModelType ?? parameterDescription . Type ?? typeof ( string ) ;
286286
287287 var defaultValue = GetDefaultValueLiteral ( parameterDescription , type ) ;
288288
@@ -414,7 +414,7 @@ private List<string> GetNamespaces(IEnumerable<ApiDescription> apiDescriptions,
414414 AddForType ( parameterDescription . ModelMetadata . ContainerType ) ;
415415 break ;
416416 default :
417- AddForType ( parameterDescription . Type ) ;
417+ AddForType ( parameterDescription . ModelMetadata ? . ModelType ?? parameterDescription . Type ) ;
418418 break ;
419419 }
420420 }
@@ -440,16 +440,15 @@ void AddForType(Type? type)
440440
441441 private static string ? GetDefaultValueLiteral ( ApiParameterDescription parameter , Type parameterType )
442442 {
443- // Use reflection for AspNetCore 2.1 compatibility.
444- var defaultValue = parameter . TryGetPropertyValue < object > ( nameof ( parameter . DefaultValue ) ) ;
443+ var defaultValue = parameter . DefaultValue ;
445444
446445 if ( defaultValue != null && defaultValue is not DBNull )
447446 {
448447 // If defaultValue is not null - return it.
449448 return defaultValue . ToLiteral ( ) ;
450449 }
451450
452- var isRequired = parameter . TryGetPropertyValue < bool ? > ( nameof ( parameter . IsRequired ) ) == true ;
451+ var isRequired = parameter . IsRequired ;
453452 isRequired |= parameter . ModelMetadata ? . IsBindingRequired == true ;
454453
455454 if ( ! parameterType . IsValueType || parameterType . IsNullable ( ) )
0 commit comments