首页 > 其他分享 >.net6 webapi Swagger显示控制器为版本及接口注释

.net6 webapi Swagger显示控制器为版本及接口注释

时间:2023-12-11 20:24:10浏览次数:31  
标签:webapi xml 控制器 swagger option api version net6 Swagger

1.安装Nuget包:Swashbuckle.AspNetCore

2.使用Swagger中间件

builder.Services.AddEndpointsApiExplorer();

builder.Services.AddSwaggerGen(option =>
{

  

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

  // xml文档绝对路径,你的api.xml文件在项目属性=》生成=》输出=》文档文件,xml文件路径可选可不选

  var file = Path.Combine(AppContext.BaseDirectory, "你的api.xml");

  // true : 显示控制器层注释

  option.IncludeXmlComments(file, true);

  // 对action的名称进行排序,如果有多个,就可以看见效果了。

  option.OrderActionsBy(o => o.RelativePath);

})

app.UseSwagger();

//配置swagger.json
app.UseSwaggerUI(option =>
{
  foreach (string version in typeof(ApiVersions).GetEnumNames())
  {
    option.SwaggerEndpoint($"/swagger/{version}/swagger.json", $"{version}");
  }
});

3.其中ApiVersions可以是枚举,可以是任何集合,只要能更好的操作就行了

 

标签:webapi,xml,控制器,swagger,option,api,version,net6,Swagger
From: https://www.cnblogs.com/LL-TJL/p/17894979.html

相关文章

  • 一文浅入Springboot+mybatis-plus+actuator+Prometheus+Grafana+Swagger2.9.2开发运维
    Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTFUL风格的Web服务,是非常流行的API表达工具。Swagger能够自动生成完善的RESTFULAP文档,,同时并根据后台代码的修改同步更新,同时提供完整的测试页面来调试API。Prometheus是一个开源的服务监控系统和时序数据库......
  • 手摸手入门Springboot2.7集成Swagger2.9.2
    环境介绍技术栈springboot+mybatis-plus+mysql+oracle+Swagger软件版本mysql8IDEAIntelliJIDEA2022.2.1JDK1.8SpringBoot2.7.13mybatis-plus3.5.3.2REST软件架构风格REST即表述性状态传递(英文:RepresentationalStateTransfer,简称REST,中文:表示层状态转移)是RoyFielding博士在20......
  • 解决Swagger UI 中文乱码问题
    ......
  • Swagger跟rest有什么区别?
    Swagger跟rest有什么区别? 我的答案:REST是指导思想,Swagger是实现方式。 AI的答案:Claude-2解释如下:REST是一种软件架构风格,它定义了一组设计原则和约束条件。REST是概念性的,它更像是一个指导思想和设计理念,不是一个具体的实现技术或标准。Swagger是一组开源工具,用于......
  • .net6 windows服务发布命令
    安装.bat  内容setserviceName=CallServersetserviceFilePath=%~dp0\CallServer.exesetserviceDescription=分诊呼叫服务sc.execreate%serviceName%BinPath=%serviceFilePath%sc.execonfig%serviceName%start=autosc.execonfig%serviceName%type=......
  • 若依集成knife4j实现swagger文档增强
    若依集成knife4j实现swagger文档增强本期全是干货,这里我就当你用的非常熟练了,在ruoyi-admin模块中pom文件里加入以下依赖 注:引用knife4j-spring-boot-starter依赖,项目中的swagger依赖若不用就可以删除了。<!--集成knife4j实现swagger文档增强--><dependen......
  • .net 温故知新【15】:Asp.Net Core WebAPI 配置
    关于Asp.NetCore中的配置实际之前我已经整理过.net中以json方式进行配置的介绍(.net温故知新:【8】.NET中的配置从xml转向json),当时我们说Asp.NetCore也是按照基础方法,只是组织形式的问题,有个封装过程。所以我这里就着重介绍一下Asp.NetCore中配置的重点。1、主机配置和应用程......
  • 构建一个语音转文字的WebApi服务
    构建一个语音转文字的WebApi服务简介由于业务需要,我们需要提供一个语音输入功能,以便更方便用户的使用,所以我们需要提供语音转文本的功能,下面我们将讲解使用Whisper将语音转换文本,并且封装成WebApi提供web服务给前端调用。创建项目第一步打开Vscode,选择一个目录作为工作空间,然......
  • 构建一个语音转文字的WebApi服务
    构建一个语音转文字的WebApi服务简介由于业务需要,我们需要提供一个语音输入功能,以便更方便用户的使用,所以我们需要提供语音转文本的功能,下面我们将讲解使用Whisper将语音转换文本,并且封装成WebApi提供web服务给前端调用。创建项目第一步打开Vscode,选择一个目录作为工作空间,然......
  • 金蝶云星空使用webapi查询单据附件的主键
    业务需求:查询采购价目表的附件 详细操作 一、查询单据附件查看账套单据附件 查询采购价目表的单据内码和单据体内码SELECTa.FNUMBER,a.FID,b.FENTRYID,b.FSEQFROMt_PUR_PriceListaLEFTJOINt_PUR_PriceListEntrybONa.FID=b.FIDWHEREa.FNUMBER='CGJM......