zoukankan      html  css  js  c++  java
  • 在webapi中使用swagger

    1 在webapi项目下安装swagger,包名 Swashbuckle.AspNetCore

    2 在webapi的startup.cs文件中添加swagger服务

    /// <summary>
            /// 配置服务 注册服务
            /// </summary>
            /// <param name="services"></param>
            public void ConfigureServices(IServiceCollection services)
            {
                services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
    
                #region Swagger
                services.AddSwaggerGen(c =>
                {
                    c.SwaggerDoc("v1", new Info
                    {
                        Version = "v0.1.0",
                        Title = "学习Swagger",
                        Description = "框架说明文档",
                        TermsOfService = "None",
                        Contact = new Swashbuckle.AspNetCore.Swagger.Contact { Name = "Learn.Swagger", Email = "king@net.com", Url = "https://www.facai.com" }
                    });
                    //如果不加入以下两个xml 也是可以的 但是不会对api有中文说明,使用了一下两个xml 就需要对成员使用///注释
                    //本webapi的xml
                    var basePath = Microsoft.DotNet.PlatformAbstractions.ApplicationEnvironment.ApplicationBasePath;
                    var xmlPath = Path.Combine(basePath, "Learn.Swagger.xml");//这个就是刚刚配置的xml文件名
                    c.IncludeXmlComments(xmlPath, true);//默认的第二个参数是false,这个是controller的注释,记得修改
    
    
                    //如果不引用别的类库项目,那么以上就是一个webapi项目添加swagger服务的全部
    
    
                    //webapi引用model的xml 
                    var xmlModelPath = Path.Combine(basePath, "Learn.Swagger.Model.xml");//这个就是Model层的xml文件名
                    c.IncludeXmlComments(xmlPath, true);//默认的第二个参数是false,这个是controller的注释,记得修改
                    c.IncludeXmlComments(xmlModelPath);
                });
    
                #endregion
    
            }

    3 在中间件代码块中添加 Swagger中间件

     // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
            /// <summary>
            /// 配置中间件
            /// </summary>
            /// <param name="app"></param>
            /// <param name="env"></param>
            public void Configure(IApplicationBuilder app, IHostingEnvironment env)
            {
                if (env.IsDevelopment())
                {
                    app.UseDeveloperExceptionPage();
    
                    #region Swagger
                    app.UseSwagger();
                    app.UseSwaggerUI(c =>
                    {
                        c.SwaggerEndpoint("/swagger/v1/swagger.json", "ApiHelp V1");
                    });
                    #endregion
                }
    
    
                app.UseMvc();
            }

     4.要配合我们第二步中的xml,我们要对webapi项目做如下操作

     右键webapi项目属性——生成——勾选 XML文档文件 如下图:

    如果引用了类库项目 也要勾选类库项目的XML文档文件,然后被webapi项目引用。

     5.让webapi启动调试自动展示swagger接口信息页面

    上面4步完成后 要输入 localhost:接口/swagger 这个地址才能看到接口信息页面

    为了默认启动时 localhost:接口 页面直接打开接口信息页面 可以在 launchSettings.json 页面进行配置

    修改如下:

     大功告成!

  • 相关阅读:
    JDK5后的特性整理
    正向代理与反向代理的区别与异同
    我所用过的nginx的功能
    网页端消息推送之推与拉
    在一个py脚本中调用另外一个py脚本中的类或函数
    import与from ... import ...的区别
    python 读取文件
    shell中的特殊变量IFS
    shell 重定向以及文件描述符
    shell下读取文件数据
  • 原文地址:https://www.cnblogs.com/wholeworld/p/9638232.html
Copyright © 2011-2022 走看看