Skip to content

Commit 8eb0d6c

Browse files
authored
Use built-in M.A.OpenApi package for AoT app (#2010)
1 parent d591379 commit 8eb0d6c

File tree

10 files changed

+102
-124
lines changed

10 files changed

+102
-124
lines changed

src/BenchmarksApps.sln

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TcpEcho", "BenchmarksApps\T
5454
EndProject
5555
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TodosApi", "BenchmarksApps\TodosApi\TodosApi.csproj", "{8E1A1F61-43E4-4629-A25B-7E5FA82697D0}"
5656
EndProject
57-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspNetCore.OpenApi", "BenchmarksApps\AspNetCore.OpenApi\AspNetCore.OpenApi.csproj", "{28F432A6-1328-4996-91DD-BB1C87F45BF2}"
58-
EndProject
5957
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RazorPages", "BenchmarksApps\TechEmpower\RazorPages\RazorPages.csproj", "{31B61CD7-4CF6-464F-B418-04C700A17CB9}"
6058
EndProject
6159
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BlazorSSR", "BenchmarksApps\TechEmpower\BlazorSSR\BlazorSSR.csproj", "{D6616E03-A2DA-4929-AD28-595ECC4C004D}"
@@ -210,14 +208,6 @@ Global
210208
{8E1A1F61-43E4-4629-A25B-7E5FA82697D0}.Release_Database|Any CPU.Build.0 = Release_Database|Any CPU
211209
{8E1A1F61-43E4-4629-A25B-7E5FA82697D0}.Release|Any CPU.ActiveCfg = Release|Any CPU
212210
{8E1A1F61-43E4-4629-A25B-7E5FA82697D0}.Release|Any CPU.Build.0 = Release|Any CPU
213-
{28F432A6-1328-4996-91DD-BB1C87F45BF2}.Debug_Database|Any CPU.ActiveCfg = Debug_Database|Any CPU
214-
{28F432A6-1328-4996-91DD-BB1C87F45BF2}.Debug_Database|Any CPU.Build.0 = Debug_Database|Any CPU
215-
{28F432A6-1328-4996-91DD-BB1C87F45BF2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
216-
{28F432A6-1328-4996-91DD-BB1C87F45BF2}.Debug|Any CPU.Build.0 = Debug|Any CPU
217-
{28F432A6-1328-4996-91DD-BB1C87F45BF2}.Release_Database|Any CPU.ActiveCfg = Release_Database|Any CPU
218-
{28F432A6-1328-4996-91DD-BB1C87F45BF2}.Release_Database|Any CPU.Build.0 = Release_Database|Any CPU
219-
{28F432A6-1328-4996-91DD-BB1C87F45BF2}.Release|Any CPU.ActiveCfg = Release|Any CPU
220-
{28F432A6-1328-4996-91DD-BB1C87F45BF2}.Release|Any CPU.Build.0 = Release|Any CPU
221211
{31B61CD7-4CF6-464F-B418-04C700A17CB9}.Debug_Database|Any CPU.ActiveCfg = Debug_Database|Any CPU
222212
{31B61CD7-4CF6-464F-B418-04C700A17CB9}.Debug_Database|Any CPU.Build.0 = Debug_Database|Any CPU
223213
{31B61CD7-4CF6-464F-B418-04C700A17CB9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU

src/BenchmarksApps/AspNetCore.OpenApi/AspNetCore.OpenApi.csproj

Lines changed: 0 additions & 17 deletions
This file was deleted.

src/BenchmarksApps/AspNetCore.OpenApi/ILLink.Substitutions.xml

Lines changed: 0 additions & 8 deletions
This file was deleted.

src/BenchmarksApps/AspNetCore.OpenApi/OpenApiFeature.cs

Lines changed: 0 additions & 17 deletions
This file was deleted.

src/BenchmarksApps/AspNetCore.OpenApi/build/AspNetCore.OpenApi.targets

Lines changed: 0 additions & 14 deletions
This file was deleted.

src/BenchmarksApps/TodosApi/OpenApiExtensions.cs

Lines changed: 0 additions & 20 deletions
This file was deleted.

src/BenchmarksApps/TodosApi/Program.cs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,14 @@
3232
builder.Services.AddProblemDetails();
3333

3434
// OpenAPI
35-
builder.Services.AddOpenApi();
35+
builder.Services.AddOpenApi(options =>
36+
{
37+
options.AddDocumentTransformer((document, _, _) => {
38+
document.Info.Title = "Todos API";
39+
document.Info.Version = "v1";
40+
return Task.CompletedTask;
41+
});
42+
});
3643

3744
var app = builder.Build();
3845

src/BenchmarksApps/TodosApi/TodoApi.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ is Todo todo
5555
group.MapPut("/{id}", async Task<Results<NoContent, NotFound>> (int id, Todo inputTodo, [FromServices] NpgsqlDataSource db, CancellationToken ct) =>
5656
{
5757
inputTodo.Id = id;
58-
58+
5959
return await db.ExecuteAsync($"""
6060
UPDATE Todos
6161
SET Title = {inputTodo.Title}, IsComplete = {inputTodo.IsComplete}
@@ -94,6 +94,7 @@ await db.ExecuteAsync($"DELETE FROM Todos WHERE Id = {id}", ct) == 1
9494
}
9595

9696
[JsonSerializable(typeof(Todo))]
97+
[JsonSerializable(typeof(bool?))]
9798
[JsonSerializable(typeof(IAsyncEnumerable<Todo>))]
9899
internal partial class TodoApiJsonSerializerContext : JsonSerializerContext
99100
{
Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,23 @@
11
<Project Sdk="Microsoft.NET.Sdk.Web">
22

33
<PropertyGroup>
4-
<TargetFramework>net8.0</TargetFramework>
4+
<TargetFramework>net9.0</TargetFramework>
55
<Nullable>enable</Nullable>
66
<ImplicitUsings>enable</ImplicitUsings>
77
<InvariantGlobalization>true</InvariantGlobalization>
88
<LangVersion>preview</LangVersion>
99
<UserSecretsId>b8ffb8d3-b768-460b-ac1f-ef267c954c85</UserSecretsId>
1010
<PublishAot>true</PublishAot>
1111
<OpenApiDocumentsDirectory>.\</OpenApiDocumentsDirectory>
12-
<!--<OpenApiEnabled>false</OpenApiEnabled>-->
1312
<EnableLogging Condition=" '$(EnableLogging)' == '' and $(Configuration.StartsWith('Debug')) ">true</EnableLogging>
1413
<DefineConstants Condition=" '$(EnableLogging)' == 'true' ">$(DefineConstants);ENABLE_LOGGING</DefineConstants>
1514
</PropertyGroup>
1615

1716
<ItemGroup>
18-
<ProjectReference Include="..\AspNetCore.OpenApi\AspNetCore.OpenApi.csproj" />
1917
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="$(MicrosoftAspNetCoreAppPackageVersion)" />
2018
<PackageReference Include="Npgsql" Version="$(NpgsqlVersion80)" />
2119
<PackageReference Include="Nanorm.Npgsql" Version="0.0.5" />
22-
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.5.0" />
20+
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="$(MicrosoftAspNetCoreAppPackageVersion)" />
2321
<PackageReference Include="Microsoft.Extensions.ApiDescription.Server" Version="$(MicrosoftAspNetCoreAppPackageVersion)">
2422
<PrivateAssets>all</PrivateAssets>
2523
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
@@ -30,5 +28,4 @@
3028
<Content Update="appSettings.Development.json" CopyToPublishDirectory="false" />
3129
</ItemGroup>
3230

33-
<Import Project="..\AspNetCore.OpenApi\build\AspNetCore.OpenApi.targets" />
3431
</Project>

0 commit comments

Comments
 (0)