Asp.Netcore 使用swagger 来自动生成API文档

一. 安装nuget包

      搜索并安装:Swashbuckle.AspNetCore的包

      结果如图所示:

      

二.开始使用

    1.在Startup文件的 ConfigureSevers 里面添加如下代码:

        services.AddSwaggerGen(options =>
            {

                options.DocInclusionPredicate((docName, description) => true);//这两句是支持动态Api的文档
                options.CustomSchemaIds(type => type.FullName);//这两句是支持动态Api的文档
                options.SwaggerDoc("v1", new Info { Title = "My API", Version = "v1" });

                var basePath = Path.GetDirectoryName(typeof(Program).Assembly.Location);//获取代码运行的相对路径
                options.IncludeXmlComments(Path.Combine(basePath, "Api.xml"), true);//插入代码上的注释放入Swagger
            });

        这里需要添加

               using Swashbuckle.AspNetCore.Swagger;

     2.在Startup文件的Configure 里面添加如下代码:

           app.UseSwagger();
            app.UseSwaggerUI(option =>
            {
                option.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
            });

三.启动项目即可使用。

     默认路由:https://localhost:【端口号】/swagger

    如下图所示:

注意事项:

所有Controller和方法必须要有 Route ,也可以简写 [HttpGet("test")].如下图所示

如果不写会出现错误:  Not Found /swagger/v1/swagger.json   如下图所示

四.显示c#代码的注释

     1.打开用户属性 选到生成栏,如下图所示,添加取消警告码:1591,设置xml文档文件存储路径

2.配置启动Swagger时使用xml文档,如下图所示

3.这样swagger上就会显示c#代码里面写的注释,如下图所示:

   注:如果需要显示类的注释时,如下修改注入文档的方法

     如下:

         

4.注释标准写法 如下所示

        /// <summary>
        /// 封装后的linq的查询方式
        /// </summary>
        /// <typeparam name="T">要查询和返回的Json</typeparam>
        /// <param name="indexName">index的名称</param>
        /// <param name="typeName">type的名称</param>
        /// <param name="selector">linq内容</param>
        /// <response code="200">返回值时泛型的List</response>
        public async Task<List<T>> SearchAsync<T>(string indexName, string typeName, Func<QueryContainerDescriptor<T>, QueryContainer> selector = null) where T : class
        {
            var list = await ElasticLinqClient.SearchAsync<T>(option => option.Index(indexName.ToLower()).Type(typeName).Query(selector));
            return list.Documents.ToList();
        }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值