.net core webapi教程-配置 Swagger 显示接口注释及描述信息
深山老妖浏览:10422023-11-30 21:40:51本文累计收益:0我也要赚钱

本文讲解如何给Swagger页面的接口添加注解信息,最终实现效果如下图所示:

一、代码添加注释说明

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/// <summary>
    /// 报名信息审核相关接口
    /// </summary>
    [Route("api/[controller]/[action]")]
    [ApiController]
    public class AuditController : ControllerBase
    {
        private readonly ITalentDomainService talentDomainService;
 
        public AuditController(ITalentDomainService talentDomainService)
        {
            this.talentDomainService = talentDomainService;
        }
 
        /// <summary>
        /// 获取报名人员数据
        /// </summary>
        /// <remarks>
        /// 描述:审核模块报名数据
        /// </remarks>
        /// <param name="name"></param>
        /// <returns></returns>
        [HttpPost]
        [Authorize]
        public async Task<ActionResult<UserResponse>> GetTalentBase(string name)
        {
            return new JsonResult(await talentDomainService.GetTalentBaseList());
        }
    }
}

二、注释信息在Swagger中展示配置

这时候需要用到XML文档,因为它是通过XML来维护Swagger文档的一些信息。双击项目名称,进入如下配置页面

1
2
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<NoWarn>$(NoWarn);1591</NoWarn>

在【Program.cs】文件中的【ConfigureService】类中注册读取XML信息的Swagger。

    #region 添加SwaggerGen注释
    // 使用反射获取xml文件,并构造出文件的路径
    var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
    var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
    // 启用xml注释,该方法第二个参数启用控制器的注释,默认为false。
    option.IncludeXmlComments(xmlPath, true);
    //对action的名称进行排序,如果有多个,就可以看见效果了。
    option.OrderActionsBy(o => o.RelativePath);
    #endregion

 

评论列表
发表评论
+ 关注