ASP.NET WEBAPI swagger使用

参考博客:完整教程说明

https://www.cnblogs.com/yanweidie/p/5709113.html

解决类库引用问题(请求是个实体不显示说明)

https://www.cnblogs.com/eastday/p/6382613.html

加载多个xml说明文件

二、.net core 添加swagger流程

step1、引入包:  Swashbuckle.AspNetCore

step2: appsetting 配置文件

"Service": {
    "Name": "IdentityServerApi.consul.webapi",
    "DocName": "consulapi",
    "Version": "v1",
    "Title": "consulapi测试服务",
    "Description": "测试服务api",
    "Contact": {
      "Name": "華子",
      "Email": "huazaizuiaiw@163.com"
    },
    "XmlFile": [
      { "Xml": "net5.consul.webapi.xml" },
      { "Xml": "net5.consul.webapi.xml" }
    ]
  },

step3:StartUp 

public void ConfigureServices(IServiceCollection services)
        {

            #region 注册swagger
            services.AddSwaggerGen(s =>
            {
                var entityXml = new List<ConfigXmlEntity>();
                Configuration.GetSection("Service:XmlFile").Bind(entityXml);
                s.SwaggerDoc(Configuration["Service:DocName"], new OpenApiInfo
                {
                    Title = Configuration["Service:Title"],
                    Version = Configuration["Service:Version"],
                    Description = Configuration["Service:Description"],
                    Contact = new OpenApiContact
                    {
                        Name = Configuration["Service:Contact:Name"],
                        Email = Configuration["Service:Contact:Email"]
                    }
                });
                var basePath = PlatformServices.Default.Application.ApplicationBasePath;
                //var xmlPath = Path.Combine(basePath, Configuration["Service:XmlFile"]);
                foreach (var xmlItem in entityXml)
                {
                    s.IncludeXmlComments(Path.Combine(basePath, xmlItem.Xml));
                }
            });
            #endregion
        }

public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IHostApplicationLifetime applicationLifetime)
        {
           
            #region swagger
            app.UseSwagger(c =>
            {
                c.RouteTemplate = "doc/{documentName}/swagger.json";
            });
            app.UseSwaggerUI(s =>
            {
                s.SwaggerEndpoint($"/doc/{Configuration["Service:DocName"]}/swagger.json",
                    $"{Configuration["Service:Name"]} {Configuration["Service:Version"]}");
            });
            #endregion
           
        }
    }

step5: 如果遇到乱码,把配置文件appsettings.json编码改为utf-8

注意:勾选输出XML文档文件,并将其copy到发布后的目录中(如果没有自动复制的话)

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值