Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 344f890

Browse files
committed
Update to .NET 10 Preview 6 and OpenAPI 2.0
1 parent 2b1fc0f commit 344f890

File tree

41 files changed

+471
-380
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+471
-380
lines changed

‎Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
<PropertyGroup>
1919
<!-- .NET 10 Preview -->
2020
<SuppressNETCoreSdkPreviewMessage>true</SuppressNETCoreSdkPreviewMessage>
21-
<NoWarn>$(NoWarn);NU1903;NU5104;NU1608</NoWarn>
21+
<NoWarn>$(NoWarn);CA1873;NU1903;NU5104;NU1608</NoWarn>
2222
</PropertyGroup>
2323

2424
<PropertyGroup>

‎package-versions.props

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,13 @@
3636
<PropertyGroup Condition="'$(TargetFramework)' == 'net10.0'">
3737
<!-- Published dependencies (only update on major version change) -->
3838
<EntityFrameworkCoreFrozenVersion>10.0.*-*</EntityFrameworkCoreFrozenVersion>
39+
<SwashbuckleFrozenVersion>10.0.0-pr.3283.*</SwashbuckleFrozenVersion>
3940

4041
<!-- Non-published dependencies (these are safe to update, won't cause a breaking change) -->
4142
<AspNetCoreVersion>10.0.*-*</AspNetCoreVersion>
43+
<SwashbuckleVersion>10.0.0-pr.3283.*</SwashbuckleVersion>
44+
<MicrosoftOpenApiVersion>2.0.*</MicrosoftOpenApiVersion>
45+
<MicrosoftApiServerVersion>10.0.*-*</MicrosoftApiServerVersion>
4246
<EntityFrameworkCoreVersion>10.0.*-*</EntityFrameworkCoreVersion>
4347
<EntityFrameworkCorePomeloVersion>9.0.*-*</EntityFrameworkCorePomeloVersion>
4448
</PropertyGroup>

‎src/Examples/JsonApiDotNetCoreExample/JsonApiDotNetCoreExample.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk.Web">
22
<PropertyGroup>
3-
<TargetFrameworks>net10.0;net9.0;net8.0</TargetFrameworks>
3+
<TargetFrameworks>net10.0</TargetFrameworks>
44
<OpenApiGenerateDocumentsOnBuild>true</OpenApiGenerateDocumentsOnBuild>
55
<OpenApiDocumentsDirectory>GeneratedSwagger</OpenApiDocumentsDirectory>
66
</PropertyGroup>

‎src/Examples/JsonApiDotNetCoreExample/SetOpenApiServerAtBuildTimeFilter.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
using JetBrains.Annotations;
2-
using Microsoft.OpenApi.Models;
2+
using Microsoft.OpenApi;
33
using Swashbuckle.AspNetCore.SwaggerGen;
44

55
namespace JsonApiDotNetCoreExample;
@@ -16,6 +16,8 @@ public void Apply(OpenApiDocument swaggerDoc, DocumentFilterContext context)
1616
{
1717
if (_httpContextAccessor.HttpContext == null)
1818
{
19+
swaggerDoc.Servers ??= [];
20+
1921
swaggerDoc.Servers.Add(new OpenApiServer
2022
{
2123
Url = "https://localhost:44340"

‎src/JsonApiDotNetCore.OpenApi.Swashbuckle/ConfigureSwaggerGenOptions.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ public void Configure(SwaggerGenOptions options)
7676
options.DocumentFilter<StringEnumOrderingFilter>();
7777
options.DocumentFilter<SetSchemaTypeToObjectDocumentFilter>();
7878
options.DocumentFilter<UnusedComponentSchemaCleaner>();
79+
options.DocumentFilter<RemoveTagsFilter>();
7980
}
8081

8182
private List<Type> SelectDerivedTypes(Type baseType)

‎src/JsonApiDotNetCore.OpenApi.Swashbuckle/JsonApiDotNetCore.OpenApi.Swashbuckle.csproj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFrameworks>net10.0;net8.0</TargetFrameworks>
3+
<TargetFrameworks>net10.0</TargetFrameworks>
44
<IsPackable>true</IsPackable>
55
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
66
<OpenApiGenerateDocuments>false</OpenApiGenerateDocuments>
@@ -33,6 +33,7 @@
3333
</ItemGroup>
3434

3535
<ItemGroup>
36+
<PackageReference Include="Microsoft.OpenApi" Version="$(MicrosoftOpenApiVersion)" />
3637
<PackageReference Include="SauceControl.InheritDoc" Version="$(InheritDocVersion)" PrivateAssets="All" />
3738
<PackageReference Include="Swashbuckle.AspNetCore" Version="$(SwashbuckleFrozenVersion)" />
3839
</ItemGroup>

‎src/JsonApiDotNetCore.OpenApi.Swashbuckle/JsonApiSchemaIdSelector.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ public string GetSchemaId(Type type)
120120

121121
private string ApplySchemaTemplate(string schemaTemplate, ResourceType? resourceType, string? relationshipName, AtomicOperationCode? operationCode)
122122
{
123-
string schemaId = schemaTemplate;
123+
string? schemaId = schemaTemplate;
124124

125125
schemaId = resourceType != null
126126
? schemaId.Replace("[ResourceName]", resourceType.PublicName.Singularize()).Pascalize()
@@ -136,7 +136,7 @@ private string ApplySchemaTemplate(string schemaTemplate, ResourceType? resource
136136
schemaId = schemaId.Replace("[OperationCode]", operationCode.Value.ToString().Pascalize());
137137
}
138138

139-
string pascalCaseSchemaId = schemaId.Pascalize();
139+
string? pascalCaseSchemaId = schemaId.Pascalize();
140140

141141
JsonNamingPolicy? namingPolicy = _options.SerializerOptions.PropertyNamingPolicy;
142142
return namingPolicy != null ? namingPolicy.ConvertName(pascalCaseSchemaId) : pascalCaseSchemaId;
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
using Microsoft.OpenApi;
2+
3+
namespace JsonApiDotNetCore.OpenApi.Swashbuckle;
4+
5+
internal static class MicrosoftOpenApiCompatibilityExtensions
6+
{
7+
public static void SetNullable(this OpenApiSchema schema, bool nullable)
8+
{
9+
ArgumentNullException.ThrowIfNull(schema);
10+
11+
if (nullable)
12+
{
13+
schema.Type ??= JsonSchemaType.Null;
14+
schema.Type |= JsonSchemaType.Null;
15+
}
16+
else
17+
{
18+
if (schema.Type != null)
19+
{
20+
schema.Type &= ~JsonSchemaType.Null;
21+
}
22+
}
23+
}
24+
}

‎src/JsonApiDotNetCore.OpenApi.Swashbuckle/OpenApiDescriptionLinkProvider.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public OpenApiDescriptionLinkProvider(IOptionsMonitor<SwaggerGeneratorOptions> s
3030

3131
if (swaggerGeneratorOptions.SwaggerDocs.Count > 0)
3232
{
33-
string latestVersionDocumentName = swaggerGeneratorOptions.SwaggerDocs.Last().Key;
33+
string? latestVersionDocumentName = swaggerGeneratorOptions.SwaggerDocs.Last().Key;
3434

3535
SwaggerOptions swaggerOptions = _swaggerOptionsMonitor.CurrentValue;
3636
return swaggerOptions.RouteTemplate.Replace("{documentName}", latestVersionDocumentName).Replace("{extension:regex(^(json|ya?ml)$)}", "json");

‎src/JsonApiDotNetCore.OpenApi.Swashbuckle/OpenApiOperationIdSelector.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ private string ApplyTemplate(string openApiOperationIdTemplate, ResourceType? re
110110
// @formatter:wrap_chained_method_calls chop_always
111111
// @formatter:wrap_before_first_method_call true
112112

113-
string pascalCaseOpenApiOperationId = openApiOperationIdTemplate
113+
string? pascalCaseOpenApiOperationId = openApiOperationIdTemplate
114114
.Replace("[Method]", method)
115115
.Replace("[PrimaryResourceName]", resourceType?.PublicName.Singularize())
116116
.Replace("[RelationshipName]", relationshipName)

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /