ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

.net core 添加swagger

2021-09-16 11:33:52  阅读:162  来源: 互联网

标签:core swagger app V1 services net Swagger public


1.从“管理 NuGet 程序包”对话框中 

    1)在搜索框中输入“Swashbuckle.AspNetCore”

     2)从“浏览”选项卡中选择“Swashbuckle.AspNetCore”包,然后单击“安装”

2

2.添加并配置 Swagger 中间件

首先引入命名空间:

using Swashbuckle.AspNetCore.Swagger;

创建一个SwaggerExtensions类:

public static class SwaggerExtensions
    {
        public static void AddSwagger(this IServiceCollection services)
        { 
            var ApiName = "Webapi.Core";

            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("V1", new OpenApiInfo
                {
                    // {ApiName} 定义成全局变量,方便修改
                    Version = "V1",
                    Title = $"{ApiName} 接口文档——Netcore 3.0",
                    Description = $"{ApiName} HTTP API V1",

                });
                c.OrderActionsBy(o => o.RelativePath);
            });

        }
    }

将 Swagger 生成器添加到 Startup.ConfigureServices 方法中的服务集合中:

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

在 Startup.Configure 方法中,启用中间件为生成的 JSON 文档和 Swagger UI 提供服务:

 public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
        
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            //Swagger
            app.UseSwagger();
            app.UseSwaggerUI(c=> {
                c.SwaggerEndpoint("/swagger/V1/swagger.json", "WebApi.Core V1");

                c.RoutePrefix = "";
            });
 
            app.UseHttpsRedirection();

         
            app.UseRouting();

            app.UseAuthorization();

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

启动应用,并导航到 http://localhost:<port>/swagger/v1/swagger.json。 生成的描述终结点的文档显示如下json格式。

1530193531880

 可在 http://localhost:<port>/swagger 找到 Swagger UI。 通过 Swagger UI 浏览 API文档,如下所示

1530193586713

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

app.UseSwaggerUI(

  c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");

  c.RoutePrefix = string.Empty; }

); 

如果接就想直接访问:http://localhost:5000/index.html

需要修改

 

 

标签:core,swagger,app,V1,services,net,Swagger,public
来源: https://blog.csdn.net/wang_peng/article/details/120325022

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有