zoukankan      html  css  js  c++  java
  • .NET Core 3.1使用Swagger

    1. 安装Swashbuckle.AspNetCore

    在VS打开 NuGet 下载安装 Swashbuckle.AspNetCore :工具 → NuGet包管理器 → 管理解决方案的NuGet程序包 → 输入Swashbuckle搜索 →点击下载 

    查看Swashbuckle.AspNetCore版本 :项目依赖项 →包 → Swashbuckle.AspNetCore版本

    2. Startup类ConfigureServices注入Swagger服务

    代码:

    public void ConfigureServices(IServiceCollection services)
    {
               // 添加Swagger
                services.AddSwaggerGen(options =>
                {
                    options.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" });
                    // 获取xml文件名
                    var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
                    // 获取xml文件路径
                    var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
                    // 添加控制器层注释,true表示显示控制器注释
                    options.IncludeXmlComments(xmlPath, true);
                });
    }
    

    3. Startup类ConfigureServices添加Swagger中间件

    代码:

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
                // 添加Swagger有关中间件
                    app.UseSwagger();
                    app.UseSwaggerUI(c =>
                    {
                        c.SwaggerEndpoint("/swagger/v1/swagger.json", "coreMVC3.1");
                        //c.RoutePrefix = string.Empty;
                        c.RoutePrefix = "API";     //如果是为空 访问路径就为 根域名/index.html,注意localhost:端口号/swagger是访问不到的
                                                   //路径配置,设置为空,表示直接在根域名(localhost:8001)访问该文件
                                                   // c.RoutePrefix = "swagger"; // 如果你想换一个路径,直接写名字即可,比如直接写c.RoutePrefix = "swagger"; 则访问路径为 根域名/swagger/index.html
    
                    });
    }
    

    5. 添加控制器

    6. 生成XML文件:

    项目右键,选择属性,生成,勾选“XML文档文件”,如下图所示(配置:本地(Debug),这个配置仅为本地调试)

    仅仅这个配置在发布环境访问Swagger会报错,所以配置要选择Release也要配置生成XML文档文件

     本地环境:

    发布环境:

    运行程序Swagger界面

     

  • 相关阅读:
    postgresql全文检索部署实施
    从一整数数组中找出只重复一次的两个数
    Edit Distance 最小编辑距离
    Vue:v-model指令在其他元素类型的使用
    Vue:v-model指令
    Vue:v-on指令
    Vue:v-bind指令
    Vue:v-for指令
    框架Django
    Vue的安装和语法
  • 原文地址:https://www.cnblogs.com/Intellectualscholar/p/15789177.html
Copyright © 2011-2022 走看看