AbpZero的Swagger汉化之旅

做汉化主要是为了出一份前后端都能看得懂的在线文档,废话不多说,我们开始准备,

我们要在启动项目的Startup.cs中重定向一下swagger的读取方式

1、在这个类下面,新增一个方法:

 1    public  static System.Collections.Generic.List<string> GetXmlCommentPath()
 2         {
 3             var baseDirectory = AppDomain.CurrentDomain.BaseDirectory + @"\xmls\";
 4             if (!Directory.Exists(baseDirectory))
 5             {
 6                 Directory.CreateDirectory(baseDirectory);
 7             }
 8             var docs = Directory.GetFiles(baseDirectory, "*.xml", SearchOption.TopDirectoryOnly).ToList();
 9             return docs;
10         }
View Code

2、Ctrl+F用关键词AddSwaggerGen找到调用swagger的代码,把下面的代码覆盖上去

 1   var xmls = GetXmlCommentPath();
 2             services.AddSwaggerGen(options =>
 3             {
 4                 options.SwaggerDoc("v1", new Info { Title = "Hitouch API", Version = "v1" });
 5                 options.DocInclusionPredicate((docName, description) => true);
 6                 options.OperationFilter<FormFileOperationFilter>();
 7                 options.AddSecurityDefinition("Bearer", new ApiKeyScheme
 8                 {
 9                     Description = "Authorization format : Bearer {token}",
10                     Name = "Authorization",
11                     In = "header",
12                     Type = "apiKey"
13                 });
14                 options.AddSecurityDefinition("Abp.TenantId", new ApiKeyScheme
15                 {
16                     Description = "Abp.TenantId: {Int}",
17                     Name = "Abp.TenantId",
18                     In = "header",
19                     Type = "apiKey"
20                 });
21                 foreach (var xml in xmls)
22                 {
23                     if (File.Exists(xml))
24                     {
25                         options.IncludeXmlComments(xml);
26                     }
27                 }
28 
29                 //api界面新增authorize按钮
30             });
View Code

3、在启动项目的bin\Debug\netcoreapp2.1的文件夹下新建一个名字为xmls的文件夹

4、把接口层的生成文件定向到上面的文件夹

打完收工,美滋滋。

 

转载于:https://www.cnblogs.com/LmuQuan/p/9442464.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ABP中配置Swagger,可以按照以下步骤进行操作: 1. 在Startup的ConfigureServices方法中添加以下代码: ```csharp services.AddSwaggerGen(options => { options.SwaggerDoc("v1", new OpenApiInfo { Title = "API", Version = "v1" }); }); ``` 这段代码会添加Swagger生成器,并指定API的标题和版本。 2. 如果你的项目中有XML注释文件,可以将其包含在Swagger文档中。在Startup的ConfigureServices方法中添加以下代码: ```csharp var xmlFile = @"XXX.Application.xml"; var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile); options.IncludeXmlComments(xmlPath, true); ``` 这段代码会将XML注释文件包含在Swagger文档中,以便生成API文档时能够显示注释内容。 3. 如果你想对Swagger文档进行更多的配置,可以在Startup的ConfigureServices方法中使用options对象进行配置。例如,你可以添加全局的请求过滤器、授权认证等。以下是一个示例: ```csharp services.AddSwaggerGen(options => { options.SwaggerDoc("v1", new OpenApiInfo { Title = "API", Version = "v1" }); // 添加全局的请求过滤器 options.OperationFilter<FileUploadOperation>(); // 添加授权认证 options.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme { Description = "JWT Authorization header using the Bearer scheme", Type = SecuritySchemeType.Http, Scheme = "bearer" }); options.AddSecurityRequirement(new OpenApiSecurityRequirement { { new OpenApiSecurityScheme { Reference = new OpenApiReference { Type = ReferenceType.SecurityScheme, Id = "Bearer" } }, new string[] {} } }); }); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值