Skip to content

Fast.Swagger 公开 API

目标 net8.0;net9.0;net10.0。本页为语法声明与 XML 注释参考,运行示例和边界见模块用法

源码提交:43554c07f6c216f80b509bd535c0a5b66ae7f2e8。维护流程:scripts/export-dotnet-api.ps1;普通站点构建直接消费此文件。

Fast.Swagger.OperationIdAttribute

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
[AttributeUsage(AttributeTargets.Method)]
public sealed class OperationIdAttribute : Attribute

配置规范化文档 OperationId 问题

Fast.Swagger.OperationIdAttribute.OperationIdAttribute

源码 · 目标:net8.0、net9.0、net10.0

csharp
public OperationIdAttribute(string operationId)

初始化类的新实例

  • 参数 operationId:operation 的唯一标识

Fast.Swagger.OperationIdAttribute.OperationId

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string OperationId { get; set; }

自定义 OperationId

Fast.Swagger.SchemaIdAttribute

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
[AttributeUsage(AttributeTargets.Class)]
public sealed class SchemaIdAttribute : Attribute

解决规范化文档 SchemaId 冲突问题

Fast.Swagger.SchemaIdAttribute.SchemaIdAttribute

源码 · 目标:net8.0、net9.0、net10.0

csharp
public SchemaIdAttribute(string schemaId)

初始化类的新实例

  • 参数 schemaId:schema 的唯一标识

Fast.Swagger.SchemaIdAttribute.SchemaIdAttribute

源码 · 目标:net8.0、net9.0、net10.0

csharp
public SchemaIdAttribute(string schemaId, bool replace)

初始化类的新实例

  • 参数 schemaId:schema 的唯一标识
  • 参数 replace:替换默认 SchemaId 的自定义值

Fast.Swagger.SchemaIdAttribute.SchemaId

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string SchemaId { get; set; }

自定义 SchemaId

Fast.Swagger.SchemaIdAttribute.Replace

源码 · 目标:net8.0、net9.0、net10.0

csharp
public bool Replace { get; set; }

完全覆盖

说明:默认在头部叠加,设置 true 之后,将直接使用 SchemaId

Fast.Swagger.SwaggerDocumentBuilder

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
public static class SwaggerDocumentBuilder

规范化文档构建器

Fast.Swagger.SwaggerDocumentBuilder.DocumentGroups

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static readonly IEnumerable<string> DocumentGroups;

文档分组列表

Fast.Swagger.SwaggerDocumentBuilder.CheckApiDescriptionInCurrentGroup

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static bool CheckApiDescriptionInCurrentGroup(string currentGroup, ApiDescription apiDescription)

检查方法是否在分组中

  • 参数 currentGroup:当前正在处理的文档分组
  • 参数 apiDescription:当前 API 的描述信息
  • 返回:API 应包含在当前文档分组中时返回 true;否则返回 false

Fast.Swagger.SwaggerDocumentBuilder.GetOpenApiGroups

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static List<SwaggerOpenApiInfo> GetOpenApiGroups()

获取所有的规范化分组信息

  • 返回:获取到的所有的规范化分组信息集合

Fast.Swagger.SwaggerDocumentBuilder.GetGroupOpenApiInfo

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static SwaggerOpenApiInfo GetGroupOpenApiInfo(string group)

获取分组配置信息

  • 参数 group:文档分组名称
  • 返回:获取到的分组配置信息

Fast.Swagger.SwaggerDocumentBuilder.GetControllerGroups

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static IEnumerable<GroupExtraInfo> GetControllerGroups(Type type)

获取控制器分组列表

  • 参数 type:目标类型
  • 返回:获取到的控制器分组列表集合

Fast.Swagger.SwaggerDocumentBuilder.GetActionGroups

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static IEnumerable<GroupExtraInfo> GetActionGroups(MethodInfo method)

获取动作方法分组列表

  • 参数 method:目标方法
  • 返回:获取到的动作方法分组列表集合

Fast.Swagger.SwaggerDocumentBuilder.GetControllerTag

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static string GetControllerTag(ControllerActionDescriptor controllerActionDescriptor)

获取控制器标签

  • 参数 controllerActionDescriptor:当前控制器操作的描述信息
  • 返回:获取到的控制器标签

Fast.Swagger.SwaggerDocumentBuilder.GetActionTag

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static string GetActionTag(ApiDescription apiDescription)

获取动作方法标签

  • 参数 apiDescription:当前 API 的描述信息
  • 返回:获取到的动作方法标签

Fast.Swagger.SwaggerDocumentBuilder.IsApiAction

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static bool IsApiAction(MethodInfo method, Type ReflectedType)

是否是动作方法

  • 参数 method:目标方法
  • 参数 ReflectedType:Reflected 类型
  • 返回:满足条件时返回 true;否则返回 false

Fast.Swagger.GroupExtraInfo

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
public sealed class GroupExtraInfo

分组附加信息

Fast.Swagger.GroupExtraInfo.Group

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string Group { get; internal set; }

分组名

Fast.Swagger.GroupExtraInfo.Order

源码 · 目标:net8.0、net9.0、net10.0

csharp
public int Order { get; internal set; }

分组排序

Fast.Swagger.GroupExtraInfo.Visible

源码 · 目标:net8.0、net9.0、net10.0

csharp
public bool Visible { get; internal set; }

是否可见

Fast.Swagger.SwaggerLoginInfo

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
public sealed class SwaggerLoginInfo

Swagger 文档授权登录配置信息

Fast.Swagger.SwaggerLoginInfo.Enabled

源码 · 目标:net8.0、net9.0、net10.0

csharp
public bool Enabled { get; set; }

是否启用授权控制

Fast.Swagger.SwaggerLoginInfo.CheckUrl

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string CheckUrl { get; set; }

检查登录地址

Fast.Swagger.SwaggerLoginInfo.SubmitUrl

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string SubmitUrl { get; set; }

提交登录地址

Fast.Swagger.SwaggerOpenApiInfo

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
public sealed class SwaggerOpenApiInfo : OpenApiInfo

Swagger 文档开放接口信息

Fast.Swagger.SwaggerOpenApiInfo.SwaggerOpenApiInfo

源码 · 目标:net8.0、net9.0、net10.0

csharp
public SwaggerOpenApiInfo()

初始化类的新实例

Fast.Swagger.SwaggerOpenApiInfo.Group

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string Group { get; set; }

所属组

Fast.Swagger.SwaggerOpenApiInfo.Order

源码 · 目标:net8.0、net9.0、net10.0

csharp
public int? Order { get; set; }

排序

Fast.Swagger.SwaggerOpenApiInfo.Visible

源码 · 目标:net8.0、net9.0、net10.0

csharp
public bool? Visible { get; set; }

是否可见

Fast.Swagger.SwaggerOpenApiInfo.RouteTemplate

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string RouteTemplate { get; internal set; }

路由模板

Fast.Swagger.SwaggerOpenApiSecurityRequirementItem

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
public sealed class SwaggerOpenApiSecurityRequirementItem

安全定义需求子项

Fast.Swagger.SwaggerOpenApiSecurityRequirementItem.SwaggerOpenApiSecurityRequirementItem

源码 · 目标:net8.0、net9.0、net10.0

csharp
public SwaggerOpenApiSecurityRequirementItem()

初始化类的新实例

Fast.Swagger.SwaggerOpenApiSecurityRequirementItem.Scheme

源码 · 目标:net8.0、net9.0、net10.0

csharp
public OpenApiSecurityScheme Scheme { get; set; }

安全 Schema

Fast.Swagger.SwaggerOpenApiSecurityRequirementItem.Accesses

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string[] Accesses { get; set; }

权限

Fast.Swagger.SwaggerOpenApiSecurityScheme

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
public sealed class SwaggerOpenApiSecurityScheme : OpenApiSecurityScheme

Swagger 文档安全配置

Fast.Swagger.SwaggerOpenApiSecurityScheme.SwaggerOpenApiSecurityScheme

源码 · 目标:net8.0、net9.0、net10.0

csharp
public SwaggerOpenApiSecurityScheme()

初始化类的新实例

Fast.Swagger.SwaggerOpenApiSecurityScheme.Id

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string Id { get; set; }

唯一Id

Fast.Swagger.SwaggerOpenApiSecurityScheme.Requirement

源码 · 目标:net8.0、net9.0、net10.0

csharp
public SwaggerOpenApiSecurityRequirementItem Requirement { get; set; }

安全需求

Fast.Swagger.IApplicationBuilderExtension

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
public static class IApplicationBuilderExtension

IApplicationBuilder 提供 Swagger 扩展方法

Fast.Swagger.IApplicationBuilderExtension.UseSwaggerDocuments

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static IApplicationBuilder UseSwaggerDocuments(this IApplicationBuilder app, Action<SwaggerOptions> configure = null,
        Action<SwaggerUIOptions> configureUI = null)

启用 Swagger

  • 参数 app:要配置的应用管道
  • 参数 configure:Swagger 配置操作
  • 参数 configureUI:Swagger UI 配置操作
  • 返回:返回当前应用管道构建器,便于链式调用

Fast.Swagger.IServiceCollectionExtension

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
public static class IServiceCollectionExtension

IServiceCollection 提供 Swagger 扩展方法

Fast.Swagger.IServiceCollectionExtension.AddSwaggerDocuments

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static IServiceCollection AddSwaggerDocuments(this IServiceCollection services, IConfiguration configuration,
        string section = "SwaggerSettings", Action<SwaggerGenOptions> configure = null)

添加 Swagger 服务

  • 参数 services:要添加服务的服务集合
  • 参数 configuration:用于读取模块设置的配置
  • 参数 section:配置节名称
  • 参数 configure:Swagger 生成配置操作
  • 返回:返回 services,便于链式调用

Fast.Swagger.IServiceCollectionExtension.AddSwaggerDocuments

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static IServiceCollection AddSwaggerDocuments(this IServiceCollection services,
        Action<SwaggerSettingsOptions> optionAction, Action<SwaggerGenOptions> configure = null)

添加 Swagger 服务

  • 参数 services:要添加服务的服务集合
  • 参数 optionAction:Swagger 配置操作
  • 参数 configure:Swagger 生成配置操作
  • 返回:返回 services,便于链式调用

Fast.Swagger.ISwaggerOptions

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
public interface ISwaggerOptions

Swagger 配置

Fast.Swagger.ISwaggerOptions.SwaggerGen

源码 · 目标:net8.0、net9.0、net10.0

csharp
Action<SwaggerGenOptions> SwaggerGen();

配置 Swagger 生成器

  • 返回:配置 Swagger 生成器

Fast.Swagger.ISwaggerOptions.Swagger

源码 · 目标:net8.0、net9.0、net10.0

csharp
Action<SwaggerOptions> Swagger();

配置 Swagger 全局参数

  • 返回:配置 Swagger 全局参数

Fast.Swagger.ISwaggerOptions.SwaggerUI

源码 · 目标:net8.0、net9.0、net10.0

csharp
Action<SwaggerUIOptions> SwaggerUI();

配置 Swagger UI 全局参数

  • 返回:配置 Swagger UI 全局参数

Fast.Swagger.SwaggerSettingsOptions

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
public sealed class SwaggerSettingsOptions : IPostConfigure

Swagger 配置选项

Fast.Swagger.SwaggerSettingsOptions.Enable

源码 · 目标:net8.0、net9.0、net10.0

csharp
public bool? Enable { get; set; }

是否启用/注入规范化文档

Fast.Swagger.SwaggerSettingsOptions.DocumentTitle

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string DocumentTitle { get; set; }

文档标题

Fast.Swagger.SwaggerSettingsOptions.DefaultGroupName

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string DefaultGroupName { get; set; }

默认分组名

Fast.Swagger.SwaggerSettingsOptions.EnableAuthorized

源码 · 目标:net8.0、net9.0、net10.0

csharp
public bool? EnableAuthorized { get; set; }

启用授权支持

Fast.Swagger.SwaggerSettingsOptions.FormatAsV2

源码 · 目标:net8.0、net9.0、net10.0

csharp
public bool? FormatAsV2 { get; set; }

格式化为 V2 版本

Fast.Swagger.SwaggerSettingsOptions.RoutePrefix

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string RoutePrefix { get; set; }

配置规范化文档地址

Fast.Swagger.SwaggerSettingsOptions.DocExpansionState

源码 · 目标:net8.0、net9.0、net10.0

csharp
public DocExpansion? DocExpansionState { get; set; }

文档展开设置

Fast.Swagger.SwaggerSettingsOptions.XmlComments

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string[] XmlComments { get; set; }

XML 描述文件

Fast.Swagger.SwaggerSettingsOptions.GroupOpenApiInfos

源码 · 目标:net8.0、net9.0、net10.0

csharp
public SwaggerOpenApiInfo[] GroupOpenApiInfos { get; set; }

分组信息

Fast.Swagger.SwaggerSettingsOptions.SecurityDefinitions

源码 · 目标:net8.0、net9.0、net10.0

csharp
public SwaggerOpenApiSecurityScheme[] SecurityDefinitions { get; set; }

安全定义

Fast.Swagger.SwaggerSettingsOptions.Servers

源码 · 目标:net8.0、net9.0、net10.0

csharp
public OpenApiServer[] Servers { get; set; }

配置 Servers

Fast.Swagger.SwaggerSettingsOptions.HideServers

源码 · 目标:net8.0、net9.0、net10.0

csharp
public bool? HideServers { get; set; }

隐藏 Servers

Fast.Swagger.SwaggerSettingsOptions.RouteTemplate

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string RouteTemplate { get; set; }

默认 swagger.json 路由模板

Fast.Swagger.SwaggerSettingsOptions.PackagesGroups

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string[] PackagesGroups { get; set; }

配置安装第三方包的分组名

Fast.Swagger.SwaggerSettingsOptions.EnableEnumSchemaFilter

源码 · 目标:net8.0、net9.0、net10.0

csharp
public bool? EnableEnumSchemaFilter { get; set; }

启用枚举 Schema 筛选器

Fast.Swagger.SwaggerSettingsOptions.EnableTagsOrderDocumentFilter

源码 · 目标:net8.0、net9.0、net10.0

csharp
public bool? EnableTagsOrderDocumentFilter { get; set; }

启用标签排序筛选器

Fast.Swagger.SwaggerSettingsOptions.ServerDir

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string ServerDir { get; set; }

服务目录(修正 IIS 创建 Application 问题)

Fast.Swagger.SwaggerSettingsOptions.LoginInfo

源码 · 目标:net8.0、net9.0、net10.0

csharp
public SwaggerLoginInfo LoginInfo { get; set; }

配置规范化文档登录信息

Fast.Swagger.SwaggerSettingsOptions.EnableAllGroups

源码 · 目标:net8.0、net9.0、net10.0

csharp
public bool? EnableAllGroups { get; set; }

启用 All Groups 功能

Fast.Swagger.SwaggerSettingsOptions.EnumToNumber

源码 · 目标:net8.0、net9.0、net10.0

csharp
public bool? EnumToNumber { get; set; }

枚举类型生成值类型

Fast.Swagger.SwaggerSettingsOptions.PostConfigure

源码 · 目标:net8.0、net9.0、net10.0

csharp
public void PostConfigure()

说明继承自接口或基类,需结合对应声明阅读。