使用 OpenAPI 规范生成 API 文档

This commit is contained in:
administrator committed 2024-03-03 11:11:18 +08:00
1 parent 2e57e89aba
commit 2f79bf6b25
5 files changed
+45 -7

No files matched your search

@@ -0,0 +1,36 @@
// Copyright (c) HelloShop Corporation. All rights reserved.
// See the license file in the project root for more information.
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;
using Swashbuckle.AspNetCore.Swagger;
using Swashbuckle.AspNetCore.SwaggerGen;
using Swashbuckle.AspNetCore.SwaggerUI;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;
namespace HelloShop.ServiceDefaults.Extensions
{
public static class OpenApiExtensions
{
public static IServiceCollection AddOpenApi(this IServiceCollection services, Action<SwaggerGenOptions>? configureOptions = null)
{
services.AddEndpointsApiExplorer();
services.AddSwaggerGen(configureOptions);
return services;
}
public static IApplicationBuilder UseOpenApi(this IApplicationBuilder app, Action<SwaggerOptions>? apiConfigureOptions = null, Action<SwaggerUIOptions>? uiConfigureOptions = null)
{
app.UseSwagger(apiConfigureOptions);
app.UseSwaggerUI(uiConfigureOptions);
return app;
}
}
}
@@ -16,5 +16,6 @@
<PackageReference Include="OpenTelemetry.Instrumentation.GrpcNetClient" Version="1.7.0-beta.1" />
<PackageReference Include="OpenTelemetry.Instrumentation.Http" Version="1.7.1" />
<PackageReference Include="OpenTelemetry.Instrumentation.Runtime" Version="1.7.0" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.5.0" />
</ItemGroup>
</Project>