首页 > 其他分享 >Swagger扩展版本控制

Swagger扩展版本控制

时间:2023-07-20 18:45:44浏览次数:31  
标签:版本控制 option app 扩展 version ApiVersions 版本 Swagger

1、在程序里面建立一个ApiVersions.cs文件,用来设置版本

    public enum ApiVersions
    {
        /// <summary>
        /// 版本一
        /// </summary>
        V1,
        /// <summary>
        /// 版本二
        /// </summary>
        V2,
        /// <summary>
        /// 版本三
        /// </summary>
        V3
    }

  

2、在Program.cs文件里面修改相应的内容
将AddSwaggerGen修改为以下内容

builder.Services.AddSwaggerGen(option =>
{
    //要启用swagger版本控制要在app控制器或者方法上添加特性        
    [ApiExplorerSettings(GropuName="版本号")]
    typeof(ApiVersions).GetEnumNames().ToList().ForEach(version =>
    {
        option.SwaggerDoc(version, new OpenApiInfo()
        {
            Title = $"{version}:Api文档",
            Version = version,
            Description = $"通用版本的CoreApi版本{version}"
        });
     });
});

  

对app.UseSwaggerUI修改成以下内容

if (app.Environment.IsDevelopment())
{
    app.UseSwagger();
    app.UseSwaggerUI(option =>
    {
        foreach(string version in typeof(ApiVersions).GetEnumNames())
        {
            option.SwaggerEndpoint($"/swagger/{version}/swagger.json", $"API版本:{version}");
        }
    });
}        

  

3、在控制器文件里面添加版本控制

[ApiExplorerSettings(IgnoreApi = false, GroupName = nameof(ApiVersions.V1))]
public class CompanyController : ControllerBase
{

}

  

标签:版本控制,option,app,扩展,version,ApiVersions,版本,Swagger
From: https://www.cnblogs.com/ahao214/p/17569362.html

相关文章

  • Springboot 整合Swagger Swagger使用教程
    swagger使用教程——快速使用swagger一、swagger简介官网:https://swagger.io/1、认识swaggerswagger是一个规范和完整的框架,用于生成、描述、调用和可视化RestFul风格的web服务,总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务......
  • datagrip的脚本扩展
    今天偶然發現datagrip有腳本擴展,位置在schema下創建文件爲xxx.groovy,執行的時候選擇庫或者表選擇後面進行執行,自帶了一個數據庫表轉換爲pojo的腳本,可以選擇多個表,但是不能直接選擇數據庫哦......
  • coredns的扩展配置
    1CoreDNS的默认配置Corefile:|.:53{errorsloghealth{lameduck15s}readykubernetes{{.ClusterDomain}}in-addr.arpaip6.arpa{podsverifiedfallthroughin-addr.arpai......
  • Swagger和日志
    Swagger官网:https://swagger.io/Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务。功能主要包含以下几点:A.使得前后端分离开发更加方便,有利于团队协作B.接口文档在线自动生成,降低后端开发人员编写接口文档的负担C.接口功能测试......
  • 4项关键技术提升 XR 扩展现实体验-XR应用云流化
    无论是使用户能够协作设计电动赛车,还是帮助观众通过数字世界与自然互动,越来越多的企业利用XR扩展现实为用户提供沉浸式逼真的虚拟环境。下一代沉浸式技术的应用越来越广泛,图形和人工智能的最新突破正在扩展XR的功能。这四种技术正在XR生态系统中树立新标准:云流化,高级协作工具,高......
  • pagefile.sys是Windows操作系统中的一个系统文件,它用于实现虚拟内存功能 。虚拟内存是
    pagefile.sys是Windows操作系统中的一个系统文件,它用于实现虚拟内存功能。虚拟内存是一种由硬盘上的空间模拟出来的内存,它允许操作系统将物理内存(RAM)之外的空间用作扩展内存。当物理内存不足时,操作系统会将一部分数据从物理内存转移到pagefile.sys文件中,以释放物理内存空间给其他......
  • 【Javascript】数组扩展方法:根据key重新分组
    1//数组扩展:根据key重新分组2//field:按什么字段分组3Array.prototype.GroupByKey=function(field)4{5varoriginalArr=this6lettempArr=[]7letresultData=[]8for(leti=0;i<originalArr.length;i++)9{10......
  • Oracle11G扩展表空间
    转载自:https://www.qycn.com/xzx/article/13650.html这篇文章主要给大家介绍“Oracle增加表空间的方法及具体步骤是什么”的相关知识,下文通过实际案例向大家展示操作过程,内容简单清晰,易于学习,有这方面学习需要的朋友可以参考,希望这篇“Oracle增加表空间的方法及具体步骤是什么”......
  • 2023-07-19 记录swagger接口文档如何实现复制api功能【转载】
    快捷入口:https://www.cnblogs.com/shanfeng1000/p/16285715.html说明:后端小伙伴提供的swagger接口文档给前端使用,前端发现比较难复制接口文档的api地址,故作为前端的我,给后端整活了,弄了一个解决方案,链接在上方......
  • springBoot 2.7.x整合 swagger2.9
    1.添加依赖<!--swagger--><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version></dep......