🐛fix:修复正式环境没有关闭SWAGGER

This commit is contained in:
yubaolee
2025-09-12 20:19:57 +08:00
parent 57546e5175
commit 23de2ae7e2
4 changed files with 124 additions and 68 deletions

View File

@@ -38,6 +38,7 @@ OpenAuth.Net是一个基于.NET 9的企业级权限管理和快速开发框架
- 私有字段使用_camelCase公共属性使用PascalCase - 私有字段使用_camelCase公共属性使用PascalCase
- 常量使用UPPER_CASE - 常量使用UPPER_CASE
- 异步方法必须添加Async后缀 - 异步方法必须添加Async后缀
- 修改完代码后不需要编译
### 命名规范 ### 命名规范
- **Controller**: 以Controller结尾如`UsersController` - **Controller**: 以Controller结尾如`UsersController`

View File

@@ -28,6 +28,11 @@ RUN dotnet publish -c Release -o /app/publish/identity
FROM base AS final FROM base AS final
WORKDIR /app WORKDIR /app
# 设置 Production 环境变量
ENV ASPNETCORE_ENVIRONMENT=Production
ENV DOTNET_ENVIRONMENT=Production
# 复制 WebApi 发布文件 # 复制 WebApi 发布文件
COPY --from=build /app/publish/webapi ./webapi COPY --from=build /app/publish/webapi ./webapi

View File

@@ -0,0 +1,41 @@
using System;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Hosting;
namespace OpenAuth.WebApi.Controllers
{
/// <summary>
/// 系统信息相关接口
/// </summary>
[Route("api/[controller]/[action]")]
[ApiController]
public class SystemController : ControllerBase
{
private readonly IHostEnvironment _environment;
public SystemController(IHostEnvironment environment)
{
_environment = environment;
}
/// <summary>
/// 获取系统环境信息
/// </summary>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public IActionResult GetEnvironmentInfo()
{
return Ok(new
{
EnvironmentName = _environment.EnvironmentName,
IsDevelopment = _environment.IsDevelopment(),
IsProduction = _environment.IsProduction(),
IsStaging = _environment.IsStaging(),
SwaggerEnabled = _environment.IsDevelopment(), // Swagger 只在开发环境启用
Timestamp = DateTime.Now
});
}
}
}

View File

@@ -61,7 +61,9 @@ namespace OpenAuth.WebApi
}); });
} }
// 添加MiniProfiler服务 // 只在开发环境中添加MiniProfiler服务
if (Environment.IsDevelopment())
{
services.AddMiniProfiler(options => services.AddMiniProfiler(options =>
{ {
// 设定访问分析结果URL的路由基地址 // 设定访问分析结果URL的路由基地址
@@ -74,8 +76,11 @@ namespace OpenAuth.WebApi
options.SqlFormatter = new StackExchange.Profiling.SqlFormatters.InlineFormatter(); options.SqlFormatter = new StackExchange.Profiling.SqlFormatters.InlineFormatter();
// options.IgnoredPaths.Add("/swagger/"); // options.IgnoredPaths.Add("/swagger/");
}).AddEntityFramework(); //显示SQL语句及耗时 }).AddEntityFramework(); //显示SQL语句及耗时
}
//添加swagger // 只在开发环境中添加swagger
if (Environment.IsDevelopment())
{
services.AddSwaggerGen(option => services.AddSwaggerGen(option =>
{ {
foreach (var controller in GetControllers()) foreach (var controller in GetControllers())
@@ -122,6 +127,7 @@ namespace OpenAuth.WebApi
option.OperationFilter<AuthResponsesOperationFilter>(); option.OperationFilter<AuthResponsesOperationFilter>();
} }
}); });
}
services.Configure<AppSetting>(Configuration.GetSection("AppSetting")); services.Configure<AppSetting>(Configuration.GetSection("AppSetting"));
services.AddControllers(option => { option.Filters.Add<OpenAuthFilter>(); }) services.AddControllers(option => { option.Filters.Add<OpenAuthFilter>(); })
.ConfigureApiBehaviorOptions(options => .ConfigureApiBehaviorOptions(options =>
@@ -270,14 +276,12 @@ namespace OpenAuth.WebApi
//配置ServiceProvider //配置ServiceProvider
AutofacContainerModule.ConfigServiceProvider(app.ApplicationServices); AutofacContainerModule.ConfigServiceProvider(app.ApplicationServices);
// 只在开发环境中启用 Swagger 和 MiniProfiler
if (env.IsDevelopment()) if (env.IsDevelopment())
{ {
app.UseMiniProfiler(); app.UseMiniProfiler();
app.UseDeveloperExceptionPage(); app.UseDeveloperExceptionPage();
app.UseSwagger(); app.UseSwagger();
}
// Enable middleware to serve swagger-ui (HTML, JS, CSS, etc.), // Enable middleware to serve swagger-ui (HTML, JS, CSS, etc.),
// specifying the Swagger JSON endpoint. // specifying the Swagger JSON endpoint.
@@ -300,6 +304,11 @@ namespace OpenAuth.WebApi
}); });
} }
}
/// <summary> /// <summary>
/// 获取控制器对应的swagger分组值 /// 获取控制器对应的swagger分组值
/// </summary> /// </summary>