use*_*834 5 c# swagger asp.net-core openapi swagger-codegen
我正在使用Swashbuckle.AspNetCore.SwaggerGen版本 v6.1.5 的 ASP.NET Core。
我希望像[HttpGet]或[HttpGet("user")]in a public这样的路由swagger.json用于公共端点,而包含internal在像这样的路由内部的其他路由[HttpGet("internal/user/{userGuid}")]位于swagger.json端点的内部实例中。
我在启动时配置 SwaggerConfigureServices如下:
services.AddSwaggerGen(gen =>
{
gen.SwaggerDoc("v1", new OpenApiInfo
{
Title = "Server API",
Version = "1.0",
Description = "This API features all public available endpoints showing different API features."
});
gen.SwaggerDoc("v1-internal", new OpenApiInfo
{
Title = "Viewer Server API (internal)",
Version = "v1-internal",
Description = "This API features all public available endpoints showing different API features."
});
});
Run Code Online (Sandbox Code Playgroud)
并在Configure
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "Viewer Server API v1");
c.SwaggerEndpoint("/swagger/v1-internal/swagger.json", "Viewer Server API v1 (internal)");
});
Run Code Online (Sandbox Code Playgroud)
我怎样才能让它创建一个 public 和一个 inside swagger.json?
use*_*834 10
过滤不同的version或在我的例子中的“可见性层”可以像下面这样完成。在启动时配置 Swagger,如下ConfigureServices所示:
services.AddSwaggerGen(gen =>
{
gen.SwaggerDoc("v1", new OpenApiInfo
{
Title = "Server API",
Version = "1.0",
Description = "This API features all public available endpoints showing different API features."
});
gen.SwaggerDoc("v1-internal", new OpenApiInfo
{
Title = "Viewer Server API (internal)",
Version = "v1-internal",
Description = "This API features all public available endpoints showing different API features."
});
gen.DocInclusionPredicate((docName, apiDesc) =>
{
if (docName.Contains("internal"))
{
return apiDesc.RelativePath.Contains("internal/");
}
else
{
return !apiDesc.RelativePath.Contains("internal/");
}
});
});
Run Code Online (Sandbox Code Playgroud)
并在Configure
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "Viewer Server API v1");
c.SwaggerEndpoint("/swagger/v1-internal/swagger.json", "Viewer Server API v1 (internal)");
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3120 次 |
| 最近记录: |