From 7b1865ade25be3494468e801880c6cde34366869 Mon Sep 17 00:00:00 2001 From: Oleg Shatin Date: Mon, 23 Dec 2019 15:06:40 +0300 Subject: [PATCH] NRE for FromQuery fixed Faced with NRE on `Apply` when some class passes as FromQuery param in controller action. Fixed. ```csharp //controller [HttpGet] public IActionResult TestAction([FromQuery]SomeClass some) { return Ok(); } ... //class public class SomeClass { public string Value { get; set; } } ``` --- .../Filters/XEnumNamesParameterFilter.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Unchase.Swashbuckle.AspNetCore.Extensions/Filters/XEnumNamesParameterFilter.cs b/src/Unchase.Swashbuckle.AspNetCore.Extensions/Filters/XEnumNamesParameterFilter.cs index afba2e5..eac3ddd 100644 --- a/src/Unchase.Swashbuckle.AspNetCore.Extensions/Filters/XEnumNamesParameterFilter.cs +++ b/src/Unchase.Swashbuckle.AspNetCore.Extensions/Filters/XEnumNamesParameterFilter.cs @@ -8,10 +8,10 @@ public class XEnumNamesParameterFilter : IParameterFilter { public void Apply(IParameter parameter, ParameterFilterContext context) { - var typeInfo = context.ParameterInfo.ParameterType; + var typeInfo = context.ParameterInfo?.ParameterType?? context.PropertyInfo.PropertyType; if (typeInfo.IsEnum) { - var names = Enum.GetNames(context.ParameterInfo.ParameterType); + var names = Enum.GetNames(typeInfo); parameter.Extensions.Add("x-enumNames", names); } else if (typeInfo.IsGenericType && !parameter.Extensions.ContainsKey("x-enumNames"))