Skip to content

Commit 5ba5fb8

Browse files
committed
feat: use OpenApi and Scalar instead swagger
1 parent 7ee75a2 commit 5ba5fb8

File tree

3 files changed

+13
-20
lines changed

3 files changed

+13
-20
lines changed

Directory.Packages.props

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,13 @@
66
<ItemGroup>
77
<PackageVersion Condition="'$(TargetFramework)'=='net8.0'" Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="8.0.11" />
88
<PackageVersion Condition="'$(TargetFramework)'=='net9.0'" Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="9.0.0" />
9-
<PackageVersion Include="Swashbuckle.AspNetCore" Version="7.0.0" />
9+
<PackageVersion Include="Microsoft.AspNetCore.OpenApi" Version="9.0.0" />
10+
<PackageVersion Include="Scalar.AspNetCore" Version="1.2.36" />
1011
<PackageVersion Include="WeihanLi.Common" Version="1.0.72" />
1112
</ItemGroup>
1213
<ItemGroup>
1314
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.11.1" />
1415
<PackageVersion Include="xunit" Version="2.9.2" />
1516
<PackageVersion Include="xunit.runner.visualstudio" Version="2.8.2" />
1617
</ItemGroup>
17-
</Project>
18+
</Project>

samples/WeihanLi.Web.Extensions.Samples/Program.cs

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
using Microsoft.IdentityModel.Tokens;
55
using Microsoft.OpenApi.Models;
6+
using Scalar.AspNetCore;
67
using System.Reflection;
78
using System.Text.Json.Serialization;
89
using WeihanLi.Common.Aspect;
@@ -71,18 +72,10 @@
7172
});
7273
builder.Services.AddHttpContextUserIdProvider(options =>
7374
{
74-
options.UserIdFactory = context => $"{context.GetUserIP()}";
75+
options.UserIdFactory = static context => $"{context.GetUserIP()}";
7576
});
7677
builder.Services.AddEndpointsApiExplorer();
77-
builder.Services.AddSwaggerGen(options =>
78-
{
79-
options.SwaggerDoc("v1", new OpenApiInfo
80-
{
81-
Version = "v1",
82-
Title = "v1 API docs"
83-
});
84-
options.IncludeXmlComments(Path.Combine(AppContext.BaseDirectory, $"{Assembly.GetExecutingAssembly().GetName().Name}.xml"), true);
85-
});
78+
builder.Services.AddOpenApi();
8679

8780
builder.Host.UseFluentAspectsServiceProviderFactory(options =>
8881
{
@@ -131,11 +124,9 @@
131124
// envGroup.Map("/stage", [EnvironmentFilter("Staging")]() => "env-test");
132125

133126
app.UseHealthCheck();
134-
app.UseSwagger().UseSwaggerUI(options =>
135-
{
136-
options.RoutePrefix = string.Empty;
137-
options.SwaggerEndpoint("/swagger/v1/swagger.json", "v1");
138-
});
127+
128+
app.MapOpenApi();
129+
app.MapScalarApiReference();
139130

140131
app.UseAuthentication();
141132
app.UseAuthorization();
@@ -191,6 +182,6 @@
191182
await app.RunAsync();
192183

193184

194-
string Hello() => "Hello Minimal API!";
185+
static string Hello() => "Hello Minimal API!";
195186

196-
IResult BadRequest() => Results.BadRequest();
187+
static IResult BadRequest() => Results.BadRequest();

samples/WeihanLi.Web.Extensions.Samples/WeihanLi.Web.Extensions.Samples.csproj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
</ItemGroup>
1212

1313
<ItemGroup>
14-
<PackageReference Include="Swashbuckle.AspNetCore" />
14+
<PackageReference Include="Microsoft.AspNetCore.OpenApi" />
15+
<PackageReference Include="Scalar.AspNetCore" />
1516
</ItemGroup>
1617
</Project>

0 commit comments

Comments
 (0)