zoukankan      html  css  js  c++  java
  • .NetCore3.1 WebApi中Swagger配置

    官方教程: https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/getting-started-with-swashbuckle?view=aspnetcore-3.1&tabs=visual-studio#add-and-configure-swagger-middleware

    参考:https://www.cnblogs.com/yilezhu/p/9241261.html#!comments  作者:依乐祝

    参考:https://www.cnblogs.com/LYF1997/p/11473967.html  作者: 风雨流逝

    使用环境vs2019,架构.netCore3.1创建  WebApi项目

     

     创建完成后再NuGet程序包中搜索Swashbuckle.AspNetCore 包进行引用

     将 Swagger 生成器添加到 Startup.ConfigureServices 方法中的服务集合中:

    //配置Swagger
    //注册Swagger生成器,定义一个Swagger 文档
    services.AddSwaggerGen(c =>
    {
        // 添加文档信息
        c.SwaggerDoc("v1", new OpenApiInfo
        {
             Title = "TestWebApi",
             Version = "v1",
             Description = "测试API"
        });
    });

    在Configure方法里加入下面的代码

     //启用中间件服务生成Swagger
    app.UseSwagger();
    //启用中间件服务生成SwaggerUI,指定Swagger JSON终结点
    app.UseSwaggerUI(c =>
    {
         c.SwaggerEndpoint("/swagger/v1/swagger.json", "TestWebApi");
         c.RoutePrefix = string.Empty;//设置根节点访问(路由前缀设置为空)
    });

     运行结果如下:

     上面只显示了接口,但是没有显示接口的注释信息,此事双击“项目”,进入.csproj文件,在  PropertyGroup 节点下添加以下代码,

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

    第一行代码表示“启用 XML 注释”。启用 XML 注释,为未记录的公共类型和成员提供调试信息。 警告消息指示未记录的类型和成员。 例如,以下消息指示违反警告代码 1591:

    warning CS1591: Missing XML comment for publicly visible type or member 'TodoController.GetAll()'

    第二行代码表示“取消警告”

    也可采用第二种方法,直接“项目”右键->属性

     在输出下勾选“XML文档文件”,并在取消警告中添加“1591”,进行启动。

    配置完后,在Startup中 为Swagger设置XML路径,读取XML信息

    #region 读取xml信息
     // 使用反射获取xml文件,并构造出文件的路径
    var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
    var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
    // 启用xml注释,该方法第二个参数启用控制器的注释,默认为false.
    c.IncludeXmlComments(xmlPath, true);
    #endregion

     配置完后运行项目,注释信息就出来了

  • 相关阅读:
    try catch finally中return的执行顺序
    多线程和同步
    orecle常用函数
    java如何调用接口 2
    orecle 函数
    ==和equals在比较字符串时候的区别
    orecle触发器
    java实现同步的方法
    java如何调用接口
    SMM+maven下的log4j配置打印sql
  • 原文地址:https://www.cnblogs.com/xinbaba/p/14272767.html
Copyright © 2011-2022 走看看