zoukankan      html  css  js  c++  java
  • Core WebAPI配置Swagger

    1、配置Swagger:

    Swagger是一套接口文档的规范,通过这套规范,你只需要按照它的规范去定义接口以及接口相关的信息。再通过Swagger衍生出来的一系列项目和工具,就可以做到生成各种格式的接口文档,生成多种语言的客户端和服务端代码,以及在线接口调试页面等等。

    • nuget管理安装程序包:Swashbuckle.AspNetCore,或者Nuget控制台命令安装:Install-Package SwashBuckle.AspNetCore -Version 5.0.0-rc4

      

    services.AddSwaggerGen(s =>
                {
                    s.SwaggerDoc("swagger_v1", new Microsoft.OpenApi.Models.OpenApiInfo()
                    {
                        Title = "CoreAPI接口", //标题
                        Version = "v1" //版本号
                    });
                });
    

      

    • 引用Swagger中间件

    app.UseSwagger();
                app.UseSwaggerUI(s =>
                {
                    s.SwaggerEndpoint("/swagger/swagger_V1/swagger.json", "MyAPIDoc_v1");
                    //s.RoutePrefix = string.Empty; 
                });
    

     如果要在应用根目录使用SwaggerUI,请将RoutePrefix属性设置为空字符串

    • Swagger高级应用使用
      • wagger为API文档增加说明信息,在AddSwaggerGen方法进行添加作者、许可证和说明等信息……
    services.AddSwaggerGen(s =>
                {
                    s.SwaggerDoc("swagger_v1", new Microsoft.OpenApi.Models.OpenApiInfo()
                    {
                        Title = "CoreAPI接口", //标题
                        Version = "v1",//版本号
                        Description="这里是文档说明",
                        TermsOfService=new Uri("https://www.cnblogs.com/zousc/"),
                        //作者信息
                        Contact=new Microsoft.OpenApi.Models.OpenApiContact()
                        {
                            Name="姓名",
                            Email="邮箱",
                            Url = new Uri("https://www.cnblogs.com/zousc/")
                        },
                        //许可证
                        License=new Microsoft.OpenApi.Models.OpenApiLicense()
                        {
                            Name = "假装是许可证",
                            Url = new Uri("https://www.cnblogs.com/zousc/")
                        }
                    });
                });
    

    到了这Swagger就能显示了,但是注释还不会显示,接下来启用XML注释 可使用以下方法启用 XML 注释:

    • 右键单击“解决方案资源管理器”中的项目,然后选择“属性”
    • 查看“生成”选项卡的“输出”部分下的“XML 文档文件”框

    启用 XML 注释后会为未记录的公共类型和成员提供调试信息。如果出现很多警告信息  例如,以下消息指示违反警告代码 1591:

    warning CS1591: Missing XML comment for publicly visible type or member 'TodoController.GetAll()'
    

    注意: ​

    1. 对于 Linux 或非 Windows 操作系统,文件名和路径区分大小写。 例如,“SwaggerDoc.xml”文件在 Windows 上有效,但在 CentOS 上无效。 ​
    2. 获取应用程序路径,建议采用Path.GetDirectoryName(typeof(Program).Assembly.Location)这种方式或者·AppContext.BaseDirectory这样来获取
    services.AddSwaggerGen(s =>
                {
                    s.SwaggerDoc("swagger_v1", new Microsoft.OpenApi.Models.OpenApiInfo()
                    {
                        Title = "CoreAPI接口", //标题
                        Version = "v1",//版本号
                        Description="这里是文档说明",
                        TermsOfService=new Uri("这里是服务条款"),
                        //作者信息
                        Contact=new Microsoft.OpenApi.Models.OpenApiContact()
                        {
                            Name="姓名",
                            Email="邮箱",
                            Url = new Uri("https://www.cnblogs.com/zousc/")
                        },
                        //许可证
                        License=new Microsoft.OpenApi.Models.OpenApiLicense()
                        {
                            Name = "假装是许可证",
                            Url = new Uri("https://www.cnblogs.com/zousc/")
                        }
                    });
                    // 为 Swagger JSON and UI设置xml文档注释路径
                    //获取应用程序所在目录(绝对,不受工作目录影响,建议采用此方法获取路径)
                    var basePath = Path.GetDirectoryName(typeof(Program).Assembly.Location);
                    var xmlPath = Path.Combine(basePath, "SwaggerDoc.xml");
                    s.IncludeXmlComments(xmlPath);
                });
    
    • 访问Ip:端口/swagger/index.html

      到这就完成了Swagger的配置~~

  • 相关阅读:
    python数据类型详解
    python代码风格指南:pep8 中文翻译
    尝试一下: 仅加密已用磁盘空间
    Anaconda多环境多版本python配置指导
    Python科学计算(一)环境简介——Anaconda Python
    Python Collections里一些常用字典类的用法
    旋转链表
    Java 利用 split 方法切割字符串
    Java 语言设计中的部分共享策略
    JumpGame I
  • 原文地址:https://www.cnblogs.com/zousc/p/12426458.html
Copyright © 2011-2022 走看看