-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AsParameters throwing error on cast when showing the Description with EnableAnnotations #2962
AsParameters throwing error on cast when showing the Description with EnableAnnotations #2962
Conversation
…te of the Parameter an error is shown
Codecov ReportAll modified and coverable lines are covered by tests ✅
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## master #2962 +/- ##
==========================================
+ Coverage 90.28% 90.34% +0.06%
==========================================
Files 72 72
Lines 2840 2839 -1
Branches 446 446
==========================================
+ Hits 2564 2565 +1
+ Misses 276 274 -2
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
@@ -31,8 +31,7 @@ private void ApplyPropertyAnnotations(OpenApiParameter parameter, PropertyInfo p | |||
private void ApplyParamAnnotations(OpenApiParameter parameter, ParameterInfo parameterInfo) | |||
{ | |||
|
|||
var swaggerParameterAttribute = parameterInfo.GetCustomAttributes<SwaggerParameterAttribute>() | |||
.FirstOrDefault(); | |||
var swaggerParameterAttribute = parameterInfo.GetCustomAttribute<SwaggerParameterAttribute>(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is the stack trace of the exception that occurs without this change? Odd that one works but "first of possibly many" doesn't.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's a thing that is only happening for MinimalApi when the property has a SwaggerParameterAttribute on it. I think the problem is right here:
It is not able to cast the array of Attributes to a Ienumerable of SwaggerParameterAttribute. Since the SwaggerParamterAttribute can only be applied once for each parameter then there is no problem in adding it
The stackTrace is this one:
Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware[1]
An unhandled exception has occurred while executing the request.
Swashbuckle.AspNetCore.SwaggerGen.SwaggerGeneratorException: Failed to generate Operation for action - HTTP: POST /fruit/{id}. See inner exception
---> System.InvalidCastException: Unable to cast object of type 'System.Attribute[]' to type 'System.Collections.Generic.IEnumerable`1[Swashbuckle.AspNetCore.Annotations.SwaggerParameterAttribute]'.
at System.Reflection.CustomAttributeExtensions.GetCustomAttributes[T](ParameterInfo element)
at Swashbuckle.AspNetCore.Annotations.AnnotationsParameterFilter.ApplyParamAnnotations(OpenApiParameter parameter, ParameterInfo parameterInfo) in C:\Git\Github\Swashbuckle.AspNetCore\src\Swashbuckle.AspNetCore.Annotations\AnnotationsParameterFilter.cs:line 34
at Swashbuckle.AspNetCore.Annotations.AnnotationsParameterFilter.Apply(OpenApiParameter parameter, ParameterFilterContext context) in C:\Git\Github\Swashbuckle.AspNetCore\src\Swashbuckle.AspNetCore.Annotations\AnnotationsParameterFilter.cs:line 18
at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GenerateParameterAsync(ApiParameterDescription apiParameter, SchemaRepository schemaRepository) in C:\Git\Github\Swashbuckle.AspNetCore\src\Swashbuckle.AspNetCore.SwaggerGen\SwaggerGenerator\SwaggerGenerator.cs:line 599
at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GenerateParametersAsync(ApiDescription apiDescription, SchemaRepository schemaRespository, Func`3 parameterGenerator) in C:\Git\Github\Swashbuckle.AspNetCore\src\Swashbuckle.AspNetCore.SwaggerGen\SwaggerGenerator\SwaggerGenerator.cs:line 490
at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GenerateParametersAsync(ApiDescription apiDescription, SchemaRepository schemaRespository) in C:\Git\Github\Swashbuckle.AspNetCore\src\Swashbuckle.AspNetCore.SwaggerGen\SwaggerGenerator\SwaggerGenerator.cs:line 508
at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GenerateOperationAsync(ApiDescription apiDescription, SchemaRepository schemaRepository, Func`3 parametersGenerator, Func`3 bodyGenerator, Func`3 applyFilters) in C:\Git\Github\Swashbuckle.AspNetCore\src\Swashbuckle.AspNetCore.SwaggerGen\SwaggerGenerator\SwaggerGenerator.cs:line 322
--- End of inner exception stack trace ---
at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GenerateOperationAsync(ApiDescription apiDescription, SchemaRepository schemaRepository, Func`3 parametersGenerator, Func`3 bodyGenerator, Func`3 applyFilters) in C:\Git\Github\Swashbuckle.AspNetCore\src\Swashbuckle.AspNetCore.SwaggerGen\SwaggerGenerator\SwaggerGenerator.cs:line 345
at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GenerateOperationAsync(ApiDescription apiDescription, SchemaRepository schemaRepository) in C:\Git\Github\Swashbuckle.AspNetCore\src\Swashbuckle.AspNetCore.SwaggerGen\SwaggerGenerator\SwaggerGenerator.cs:line 373
at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GenerateOperationsAsync(IEnumerable`1 apiDescriptions, SchemaRepository schemaRepository) in C:\Git\Github\Swashbuckle.AspNetCore\src\Swashbuckle.AspNetCore.SwaggerGen\SwaggerGenerator\SwaggerGenerator.cs:line 268
at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GeneratePathsAsync(IEnumerable`1 apiDescriptions, SchemaRepository schemaRepository, Func`3 operationsGenerator) in C:\Git\Github\Swashbuckle.AspNetCore\src\Swashbuckle.AspNetCore.SwaggerGen\SwaggerGenerator\SwaggerGenerator.cs:line 207
at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GeneratePathsAsync(IEnumerable`1 apiDescriptions, SchemaRepository schemaRepository) in C:\Git\Github\Swashbuckle.AspNetCore\src\Swashbuckle.AspNetCore.SwaggerGen\SwaggerGenerator\SwaggerGenerator.cs:line 229
at Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator.GetSwaggerAsync(String documentName, String host, String basePath) in C:\Git\Github\Swashbuckle.AspNetCore\src\Swashbuckle.AspNetCore.SwaggerGen\SwaggerGenerator\SwaggerGenerator.cs:line 56
at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider) in C:\Git\Github\Swashbuckle.AspNetCore\src\Swashbuckle.AspNetCore.Swagger\SwaggerMiddleware.cs:line 64
at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddlewareImpl.Invoke(HttpContext context)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's strange indeed!, because for Controller parameters this does not happen.
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [Swashbuckle.AspNetCore](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore) | `6.6.2` -> `6.7.0` | [![age](https://developer.mend.io/api/mc/badges/age/nuget/Swashbuckle.AspNetCore/6.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/nuget/Swashbuckle.AspNetCore/6.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/nuget/Swashbuckle.AspNetCore/6.6.2/6.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/Swashbuckle.AspNetCore/6.6.2/6.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>domaindrivendev/Swashbuckle.AspNetCore (Swashbuckle.AspNetCore)</summary> ### [`v6.7.0`](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/releases/tag/v6.7.0) ##### What's Changed - Allow Swagger UI CSS and JS paths to be configurable by [@​mag1art](https://togithub.com/mag1art) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2908](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2908) - Add `IncludeXmlCommentsForAssembly()` convience overload by [@​leotsarev](https://togithub.com/leotsarev) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2909](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2909) - Add snapshot tests using Verify by [@​keahpeters](https://togithub.com/keahpeters) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2929](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2929) - Add posibility to ignore properties in `[FromForm]` with `[SwaggerIgnore]` by [@​jgarciadelanoceda](https://togithub.com/jgarciadelanoceda) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2928](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2928) - Adding check for existing directory and creating if doesn't exist by [@​matt-lethargic](https://togithub.com/matt-lethargic) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2927](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2927) - Default null value on nullable types caused errors by [@​jgarciadelanoceda](https://togithub.com/jgarciadelanoceda) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2941](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2941) - Add additional Verify tests by [@​keahpeters](https://togithub.com/keahpeters) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2950](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2950) - Only apply a SchemaFilter to create the description on SwaggerUI by [@​jgarciadelanoceda](https://togithub.com/jgarciadelanoceda) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2943](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2943) - Add support for async filters by [@​mauve](https://togithub.com/mauve) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2938](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2938) - Fix package validation by [@​martincostello](https://togithub.com/martincostello) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2926](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2926) - Adding support for .NET 8 Model State attributes by [@​jgarciadelanoceda](https://togithub.com/jgarciadelanoceda) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2958](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2958) - Only set Exclusive Range when they are by [@​jgarciadelanoceda](https://togithub.com/jgarciadelanoceda) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2960](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2960) - `[AsParameters]` throwing error on cast when showing the description with `EnableAnnotations()` by [@​jgarciadelanoceda](https://togithub.com/jgarciadelanoceda) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2962](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2962) - Fix `RequestBodyFilterAnnotation` and `MultipleFromForm` for Minimal APIs by [@​jgarciadelanoceda](https://togithub.com/jgarciadelanoceda) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2963](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2963) - Swagger UI refactoring by [@​martincostello](https://togithub.com/martincostello) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2942](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2942) - Add help wanted badge by [@​martincostello](https://togithub.com/martincostello) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2911](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2911) - Move inline css and js to external files for SwaggerUI and ReDoc by [@​junior-santana](https://togithub.com/junior-santana) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2965](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2965) - Missing properties section when generating `IFomFile`/`IFormFileCollection` by [@​jgarciadelanoceda](https://togithub.com/jgarciadelanoceda) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2972](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2972) - Missing Encoding and RequiredProperties when `IFormFile` with OpenAPI by [@​jgarciadelanoceda](https://togithub.com/jgarciadelanoceda) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2979](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2979) - Use `ApiParameter.Type` by [@​jgarciadelanoceda](https://togithub.com/jgarciadelanoceda) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2980](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2980) - Document arrays of generic parameters with XML comments and support overload methods by [@​jgarciadelanoceda](https://togithub.com/jgarciadelanoceda) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2982](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2982) - Take into account \[JsonRequired] for System.Text.Json by [@​jgarciadelanoceda](https://togithub.com/jgarciadelanoceda) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2988](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2988) - Configure non-nullable types as required by [@​AntiGuideAkquinet](https://togithub.com/AntiGuideAkquinet) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2803](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2803) - Use `HttpMethods.IsGet()` by [@​martincostello](https://togithub.com/martincostello) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2971](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2971) ##### New Contributors - [@​mag1art](https://togithub.com/mag1art) made their first contribution in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2908](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2908) - [@​jgarciadelanoceda](https://togithub.com/jgarciadelanoceda) made their first contribution in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2928](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2928) - [@​matt-lethargic](https://togithub.com/matt-lethargic) made their first contribution in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2927](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2927) - [@​mauve](https://togithub.com/mauve) made their first contribution in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2938](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2938) - [@​junior-santana](https://togithub.com/junior-santana) made their first contribution in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2965](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2965) - [@​AntiGuideAkquinet](https://togithub.com/AntiGuideAkquinet) made their first contribution in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2803](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2803) **Full Changelog**: domaindrivendev/Swashbuckle.AspNetCore@v6.6.2...v6.7.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 10pm every weekday,every weekend,before 5am every weekday" in timezone Europe/Berlin, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/orso-co/Orso.Arpa.Api). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoiZGV2ZWxvcCIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [Swashbuckle.AspNetCore](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore) | `6.6.2` -> `6.7.3` | [![age](https://developer.mend.io/api/mc/badges/age/nuget/Swashbuckle.AspNetCore/6.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/nuget/Swashbuckle.AspNetCore/6.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/nuget/Swashbuckle.AspNetCore/6.6.2/6.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/Swashbuckle.AspNetCore/6.6.2/6.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [Swashbuckle.AspNetCore.Annotations](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore) | `6.6.2` -> `6.7.3` | [![age](https://developer.mend.io/api/mc/badges/age/nuget/Swashbuckle.AspNetCore.Annotations/6.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/nuget/Swashbuckle.AspNetCore.Annotations/6.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/nuget/Swashbuckle.AspNetCore.Annotations/6.6.2/6.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/Swashbuckle.AspNetCore.Annotations/6.6.2/6.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>domaindrivendev/Swashbuckle.AspNetCore (Swashbuckle.AspNetCore)</summary> ### [`v6.7.3`](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/releases/tag/v6.7.3) ##### What's Changed - Fix nested types nullable context check by [@​VladimirTyrin](https://togithub.com/VladimirTyrin) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3043](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3043) - Use NullabilityInfoContext to determine if member is nullable by [@​patrikwlund](https://togithub.com/patrikwlund) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3046](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3046) ##### New Contributors - [@​VladimirTyrin](https://togithub.com/VladimirTyrin) made their first contribution in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3043](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3043) **Full Changelog**: domaindrivendev/Swashbuckle.AspNetCore@v6.7.2...v6.7.3 ### [`v6.7.2`](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/releases/tag/v6.7.2) #### What's Changed - Use NullabilityInfoContext to determine dictionary value nullability by [@​patrikwlund](https://togithub.com/patrikwlund) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3041](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3041) **Full Changelog**: domaindrivendev/Swashbuckle.AspNetCore@v6.7.1...v6.7.2 ### [`v6.7.1`](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/releases/tag/v6.7.1) #### What's Changed - docs: Update README.md by [@​WeihanLi](https://togithub.com/WeihanLi) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3002](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3002) - Support `[DataMember]` `IsRequired` in `NewtonsoftDataContractResolver` by [@​ouvreboite](https://togithub.com/ouvreboite) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2644](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2644) - Add API analysers by [@​martincostello](https://togithub.com/martincostello) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3003](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3003) - Update README by [@​martincostello](https://togithub.com/martincostello) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3004](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3004) - docs: fix example code formatting by [@​WeihanLi](https://togithub.com/WeihanLi) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3010](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3010) - Fixes nullability problems with dictionaries by [@​ozziepeeps](https://togithub.com/ozziepeeps) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3023](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3023) - Fix handling of nullable structs by [@​martincostello](https://togithub.com/martincostello) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3015](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3015) - Fix missing form parameter XML documentation by [@​martincostello](https://togithub.com/martincostello) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3020](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/3020) #### New Contributors - [@​ouvreboite](https://togithub.com/ouvreboite) made their first contribution in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2644](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2644) **Full Changelog**: domaindrivendev/Swashbuckle.AspNetCore@v6.7.0...v6.7.1 ### [`v6.7.0`](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/releases/tag/v6.7.0) #### What's Changed - Allow Swagger UI CSS and JS paths to be configurable by [@​mag1art](https://togithub.com/mag1art) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2908](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2908) - Add `IncludeXmlCommentsForAssembly()` convience overload by [@​leotsarev](https://togithub.com/leotsarev) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2909](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2909) - Add snapshot tests using Verify by [@​keahpeters](https://togithub.com/keahpeters) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2929](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2929) - Add posibility to ignore properties in `[FromForm]` with `[SwaggerIgnore]` by [@​jgarciadelanoceda](https://togithub.com/jgarciadelanoceda) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2928](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2928) - Adding check for existing directory and creating if doesn't exist by [@​matt-lethargic](https://togithub.com/matt-lethargic) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2927](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2927) - Default null value on nullable types caused errors by [@​jgarciadelanoceda](https://togithub.com/jgarciadelanoceda) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2941](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2941) - Add additional Verify tests by [@​keahpeters](https://togithub.com/keahpeters) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2950](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2950) - Only apply a SchemaFilter to create the description on SwaggerUI by [@​jgarciadelanoceda](https://togithub.com/jgarciadelanoceda) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2943](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2943) - Add support for async filters by [@​mauve](https://togithub.com/mauve) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2938](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2938) - Fix package validation by [@​martincostello](https://togithub.com/martincostello) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2926](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2926) - Adding support for .NET 8 Model State attributes by [@​jgarciadelanoceda](https://togithub.com/jgarciadelanoceda) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2958](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2958) - Only set Exclusive Range when they are by [@​jgarciadelanoceda](https://togithub.com/jgarciadelanoceda) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2960](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2960) - `[AsParameters]` throwing error on cast when showing the description with `EnableAnnotations()` by [@​jgarciadelanoceda](https://togithub.com/jgarciadelanoceda) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2962](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2962) - Fix `RequestBodyFilterAnnotation` and `MultipleFromForm` for Minimal APIs by [@​jgarciadelanoceda](https://togithub.com/jgarciadelanoceda) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2963](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2963) - Swagger UI refactoring by [@​martincostello](https://togithub.com/martincostello) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2942](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2942) - Add help wanted badge by [@​martincostello](https://togithub.com/martincostello) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2911](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2911) - Move inline css and js to external files for SwaggerUI and ReDoc by [@​junior-santana](https://togithub.com/junior-santana) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2965](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2965) - Missing properties section when generating `IFomFile`/`IFormFileCollection` by [@​jgarciadelanoceda](https://togithub.com/jgarciadelanoceda) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2972](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2972) - Missing Encoding and RequiredProperties when `IFormFile` with OpenAPI by [@​jgarciadelanoceda](https://togithub.com/jgarciadelanoceda) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2979](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2979) - Use `ApiParameter.Type` by [@​jgarciadelanoceda](https://togithub.com/jgarciadelanoceda) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2980](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2980) - Document arrays of generic parameters with XML comments and support overload methods by [@​jgarciadelanoceda](https://togithub.com/jgarciadelanoceda) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2982](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2982) - Take into account \[JsonRequired] for System.Text.Json by [@​jgarciadelanoceda](https://togithub.com/jgarciadelanoceda) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2988](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2988) - Configure non-nullable types as required by [@​AntiGuideAkquinet](https://togithub.com/AntiGuideAkquinet) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2803](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2803) - Use `HttpMethods.IsGet()` by [@​martincostello](https://togithub.com/martincostello) in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2971](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2971) #### New Contributors - [@​mag1art](https://togithub.com/mag1art) made their first contribution in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2908](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2908) - [@​jgarciadelanoceda](https://togithub.com/jgarciadelanoceda) made their first contribution in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2928](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2928) - [@​matt-lethargic](https://togithub.com/matt-lethargic) made their first contribution in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2927](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2927) - [@​mauve](https://togithub.com/mauve) made their first contribution in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2938](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2938) - [@​junior-santana](https://togithub.com/junior-santana) made their first contribution in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2965](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2965) - [@​AntiGuideAkquinet](https://togithub.com/AntiGuideAkquinet) made their first contribution in [https://github.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2803](https://togithub.com/domaindrivendev/Swashbuckle.AspNetCore/pull/2803) **Full Changelog**: domaindrivendev/Swashbuckle.AspNetCore@v6.6.2...v6.7.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 9pm,before 6am" in timezone Europe/Zurich, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/smartive/cas-fee-adv-mumble-api). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM4LjU2LjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This fixes an issue shown when investigating #2658. Not sure if this fixes it all.
Tested with the project WebApi, if you do not apply the GetCustomAttributes to GetCustomAttribute change then you will see an error on the SwaggerUi based on a Cast.
As the SwaggerParameter is an attribute that only can be set once per property there is no issue on the change
I have studied if inserting a test in Swashbuckle.AspNetCore.Annotations.Test, but the existing test are hitting this change, so I think there is no need to add it(In fact I have not seen a test using MinimalApi approach)