WebApi框架搭建集成Swagger

Posted mellen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WebApi框架搭建集成Swagger相关的知识,希望对你有一定的参考价值。

概要:

  1、安装包

  2、插入代码:Startup.cs

  3、创建项目XML注释文档

  4、配置默认启动打开Swagger

 

 

过程:

  1、安装包

    Swashbuckle.AspNetCore

  2、插入代码:Startup.cs

        public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllers();

            // 注册Swagger服务,声明一个或多个文档
            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("V1", new OpenApiInfo { Title = "HYFWAPI", Version = "V1" });
                c.IncludeXmlComments(string.Format("{0}/bin/WebApi.xml", AppDomain.CurrentDomain.BaseDirectory));
            });
        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            // Enable middleware to serve generated Swagger as a JSON endpoint.
            app.UseSwagger();

            // Enable middleware to serve swagger-ui (html, JS, CSS, etc.),
            // specifying the Swagger JSON endpoint.
            app.UseSwaggerUI(c =>
            {
                c.SwaggerEndpoint("/swagger/V1/swagger.json", "My API V1");

                //要在应用的根(http://localhost:<port>/) 处提供 Swagger UI,请将 RoutePrefix 属性设置为空字符串:
                //c.RoutePrefix = string.Empty;
            });

            app.UseRouting();

            app.UseAuthorization();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
            });
        }        

    注意:c.SwaggerDoc("V1" 与 c.SwaggerEndpoint("/swagger/V1/swagger.json"中的"V1"要一致

  3、创建项目XML注释文档

    右键项目→属性→生成→选中下方的 "XML文档文件" ,"binDebug etcoreapp3.1inWebApi.xml"

    取消显示错误警告:1591

  4、配置默认启动打开Swagger

    修改launchSettings.json中的"launchUrl": "swagger"

 

以上是关于WebApi框架搭建集成Swagger的主要内容,如果未能解决你的问题,请参考以下文章

当SpringBoot遇上Mybatis和Swagger2,会有多牛逼

Swagger简单实例

net6 项目搭建及引用框架记录(log4net,autofac,exception,api result,jwt,efcore)一建立项目,使用Swagger

net6 项目搭建及引用框架记录(log4net,autofac,exception,api result,jwt,efcore)一建立项目,使用Swagger

net6 项目搭建及引用框架记录(log4net,autofac,exception,api result,jwt,efcore)一建立项目,使用Swagger

ABP框架使用Swagger