Skip to content

Commit 128f029

Browse files
committed
build: Update nuget-dependencies: update Swashbuckle.AspNetCore to v6.1.0
fix: Fix DisplayEnumsWithValuesDocumentFilter for action enum parameters
1 parent 4550926 commit 128f029

File tree

7 files changed

+52
-18
lines changed

7 files changed

+52
-18
lines changed

CHANGELOG.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,21 @@
88

99
These are the changes to each version that has been released on the [nuget](https://www.nuget.org/packages/Unchase.Swashbuckle.AspNetCore.Extensions/).
1010

11+
## v2.6.0 `2021-02-09`
12+
13+
- [x] Update nuget-dependencies: update Swashbuckle.AspNetCore to [v6.1.0](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/releases/tag/v6.1.0)
14+
- [x] Fix `DisplayEnumsWithValuesDocumentFilter` for action enum parameters like:
15+
16+
```csharp
17+
[HttpGet("MyFunction")]
18+
public IActionResult MyFunction(ParameterEnum parameter1)
19+
{
20+
return NoContent();
21+
}
22+
```
23+
24+
![DisplayEnumsWithValuesDocumentFilter with enum parameters](assets/displayEnumsWithValuesDocumentFilterEnumParameters.png)
25+
1126
## v2.5.2 `2021-02-09`
1227

1328
- [x] Add more overloads for `IncludeXmlCommentsWithRemarks` extension method

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ For old versions see [README_OLD.md](README_OLD.md).
2121
|Swashbuckle Version|ASP.NET Core|Swagger / OpenAPI Spec.|This extension Version|
2222
|:------------------|:-----------|:----------------------|:---------------------|
2323
|[master](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/tree/master/README.md)|>= 2.0.0|2.0, 3.0|[master](https://github.com/unchase/Unchase.Swashbuckle.AspNetCore.Extensions/tree/master/README.md)|
24-
|[6.0.0](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/tree/v5.0.0)|>= 2.0.0|2.0, 3.0|[v2.5.1](https://github.com/unchase/Unchase.Swashbuckle.AspNetCore.Extensions/tree/v2.0.0/README.md)|
24+
|[6.1.0](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/tree/v6.1.0)|>= 2.0.0|2.0, 3.0|[v2.6.0](https://github.com/unchase/Unchase.Swashbuckle.AspNetCore.Extensions/tree/v2.6.0/README.md)|
25+
|[6.0.0](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/tree/v6.0.0)|>= 2.0.0|2.0, 3.0|[v2.5.1](https://github.com/unchase/Unchase.Swashbuckle.AspNetCore.Extensions/tree/v2.5.1/README.md)|
2526
|[5.0.0](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/tree/v5.0.0)|>= 2.0.0|2.0, 3.0|[v2.0.0](https://github.com/unchase/Unchase.Swashbuckle.AspNetCore.Extensions/tree/v2.0.0/README.md)|
2627
|[4.0.0](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/tree/v4.0.0)|>= 2.0.0, < 3.0.0|2.0|[v1.1.4](https://github.com/unchase/Unchase.Swashbuckle.AspNetCore.Extensions/tree/v1.1.4/README.md)|
2728

appveyor.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
version: 2.5.{build}
1+
version: 2.6.{build}
22
pull_requests:
33
do_not_increment_build_number: true
44
skip_tags: true
11.2 KB
Loading

src/Unchase.Swashbuckle.AspNetCore.Extensions/Filters/DisplayEnumsWithValuesDocumentFilter.cs

Lines changed: 29 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -71,22 +71,40 @@ public void Apply(OpenApiDocument openApiDoc, DocumentFilterContext context)
7171
// add enum descriptions to input parameters of every operation
7272
foreach (var parameter in openApiDoc.Paths.Values.SelectMany(v => v.Operations).SelectMany(op => op.Value.Parameters))
7373
{
74+
OpenApiSchema schema = null;
7475
if (parameter.Schema.Reference == null)
75-
continue;
76-
77-
var componentReference = parameter.Schema.Reference.Id;
78-
var schema = openApiDoc.Components.Schemas[componentReference];
79-
80-
var description = schema.AddEnumValuesDescription(this._includeDescriptionFromAttribute);
81-
if (description != null)
8276
{
83-
if (parameter.Description == null)
77+
if (parameter.Schema.AllOf.Count > 0)
8478
{
85-
parameter.Description = description;
79+
schema = context.SchemaRepository.Schemas.FirstOrDefault(s => parameter.Schema.AllOf.FirstOrDefault(a => a.Reference.Id == s.Key) != null).Value;
8680
}
87-
else if (!parameter.Description.Contains(description))
81+
else
8882
{
89-
parameter.Description += description;
83+
continue;
84+
}
85+
}
86+
else
87+
{
88+
var componentReference = parameter.Schema.Reference.Id;
89+
if (!string.IsNullOrWhiteSpace(componentReference))
90+
{
91+
schema = openApiDoc.Components.Schemas[componentReference];
92+
}
93+
}
94+
95+
if (schema != null)
96+
{
97+
var description = schema.AddEnumValuesDescription(this._includeDescriptionFromAttribute);
98+
if (description != null)
99+
{
100+
if (parameter.Description == null)
101+
{
102+
parameter.Description = description;
103+
}
104+
else if (!parameter.Description.Contains(description))
105+
{
106+
parameter.Description += description;
107+
}
90108
}
91109
}
92110
}

src/Unchase.Swashbuckle.AspNetCore.Extensions/Unchase.Swashbuckle.AspNetCore.Extensions.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414
<NeutralLanguage></NeutralLanguage>
1515
<LangVersion>7.3</LangVersion>
1616
<PackageIconUrl>https://github.com/unchase/Unchase.Swashbuckle.AspNetCore.Extensions/blob/master/assets/icon.png?raw=true</PackageIconUrl>
17-
<Version>2.5.0</Version>
18-
<AssemblyVersion>2.5.0.0</AssemblyVersion>
17+
<Version>2.6.0</Version>
18+
<AssemblyVersion>2.6.0.0</AssemblyVersion>
1919
<FileVersion>2.5.0.0</FileVersion>
2020
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
2121
<DocumentationFile>Unchase.Swashbuckle.AspNetCore.Extensions.xml</DocumentationFile>
@@ -26,7 +26,7 @@
2626
</PropertyGroup>
2727

2828
<ItemGroup>
29-
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerGen" Version="6.0.2" />
29+
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerGen" Version="6.1.0" />
3030
</ItemGroup>
3131

3232
</Project>

test/WebApi3.1-Swashbuckle/WebApi3.1-Swashbuckle.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515

1616
<ItemGroup>
1717
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
18-
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.0.2" />
19-
<PackageReference Include="Swashbuckle.AspNetCore.Annotations" Version="6.0.2" />
18+
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.1.0" />
19+
<PackageReference Include="Swashbuckle.AspNetCore.Annotations" Version="6.1.0" />
2020
</ItemGroup>
2121

2222
<ItemGroup>

0 commit comments

Comments
 (0)