zoukankan      html  css  js  c++  java
  • Swagger学习笔记

        在之前工作项目都是用postman测试,文档说明在自己开发的网站上发布,接触到Swagger后就感觉之前做的太费劲了。下面的内容都是在.Net core 3.1版本上

    一、配置Swagger

    引入swagger插件。(1)可以去swagger官网或下载github上下载源码(2)利用NuGet包添加程序集应用,“管理NuGet程序包”-搜索“Swashbuckle.AspNetCore”

    打开Startup.cs 编辑ConfigureServices类

    public string APIName{get;set;} ="Swagger"
    var basePath =AppContext.BaseDirectory;
    services.AddSwaggerGen(c=>{
       c.SwggerDoc("V1",new OpenApiInfo{
           Version="V1",
           Title=$"{ApiName}接口文档",
           Description=$"{ApiName}",
           Contact =new OpenApiContact{Name=ApiName},
           License =new OpenAPiLicense{Name=ApiName}     
        });
        c.OrderActionsBy(o=>o.RelativePath);
    })

    启动Http中间件,编辑Configure类

    public void Configure(IApplicationBuilder app,IWebHostEnvironment env){
     if(env.IsDevelopment()){
             app.UseDeveloperExceptionPage();
       }   
      app.UseSwgger();
      app.UseSwaggerUI(c=>{
          c.SwaggerEndpoint($"/swagger/V1/swagger.json",$"{ApiName} V1");
          //设置为空,表示直接在根域名访问该文件(localhost:8081)
          c.RoutePrefix="";   
        });
         app.UseRouting();
    
         app.UseAuthorization();
    
         app.UseEndpoints(endpoints =>
         {
             endpoints.MapControllers();
         });   
    
    }    

    把launchsettings.json中的launchUrl设置为空或删除

    添加注释

    右键项目名称=>属性=>生成,勾选“输出”下面的“xml文档文件”,系统会默认生成一个文件,然后在“取消显示警告”处添加;1591

    配置好了xml文件,接下来需要让系统启动的时候,去读取这个文件了,重新编辑Startup.cs,修改ConfigureServices函数,注意配置的参数 true:

       public void ConfigureServices(IServiceCollection services)
            {
                var basePath = AppContext.BaseDirectory;
                services.AddSwaggerGen(c =>
                {
                    c.SwaggerDoc("V1", new OpenApiInfo
                    {
                        Version="V1",
                        Title=$"{ApiName}Swagger接口文档",
                        Description =$"{ApiName}",
                        Contact=new OpenApiContact { Name=ApiName,Email="88888@com"},
                        License =new OpenApiLicense { Name=ApiName}
    
                    });
                    c.OrderActionsBy(o => o.RelativePath);
                    //配置swagger注释
                    var xmlPath = Path.Combine(basePath, "Swaggertest.xml");
                    c.IncludeXmlComments(xmlPath, true);//默认的第二个参数是false,这个是controller的注释,记得修改
                });
    
                services.AddControllers();
            }
  • 相关阅读:
    windows权限维持之注册表
    mstsc痕迹清理
    内网常用爆破手法
    RDP攻击&防御
    Java SPI 机制
    mysqldump 数据库备份
    Redis分布式锁
    Seata分布式事务中间件学习和实践
    pytube
    idea github登录
  • 原文地址:https://www.cnblogs.com/shuize/p/12936214.html
Copyright © 2011-2022 走看看