在定义Swagger文档时,选择只保留服务端和数据层的API,去除层应用程序中的API。例如以下代码示例:
//定义Swagger文档
[Dependency(ReplaceServices = true)]
public class MyModule : AbpModule
{
public override void PreConfigureServices(ServiceConfigurationContext context)
{
Configure
//省略其他配置
}
如果需要保留层应用程序中的API,可以通过自定义特性来控制Swagger文档中的API的显示与否。例如以下代码示例:
//自定义特性 public class AbpSwaggerIgnoreAttribute : Attribute { }
//使用特性
public class MyApplicationService : ApplicationService
{
[HttpGet]
[AbpSwaggerIgnore] //标记需要忽略的API
public async Task
//配置Swagger [DependsOn(typeof(AbpSwaggerModule))] public class MyModule : AbpModule { public override void ConfigureServices(ServiceConfigurationContext context) { //定义Swagger文档 context.Services.AddSwaggerGen(options => { options.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" });
//过滤掉被特殊标记的API
options.DocumentFilter();
});
}
//省略其他配置
//注入特性过滤器
[DependsOn(typeof(AbpAspNetCoreMvcModule))]
public class MyAspNetCoreMvcModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
Configure(options