7. 规范化文档配置
配置智能提示和校验
如需编写配置的时候提供智能提示和校验,可查看 【2.7 JSON Schema 使用】
只需要在 .json 文件头部添加下列配置即可:
{
"$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json"
}
7.1 关于配置
规范化文档配置指的是 Furion 框架 Swagger 文档配置选项。
7.2 配置信息
SpecificationDocumentSettings:配置根节点DocumentTitle:文档标题,string,默认Specification Api DocumentDefaultGroupName:默认分组名,string,默认DefaultEnableAuthorized:是否启用权限控制,bool,默认trueFormatAsV2:采用Swagger 2.0版本,bool,默认false已弃用RoutePrefix:规范化文档地址,string,默认api,如果希望在首页,改为空字符串即可。DocExpansionState:文档显示方式,DocExpansion,默认List,取值:List:列表式(展开子类),默认值Full:完全展开None:列表式(不展开子类)
XmlComments:程序集注释描述文件名(可带.xml,string,默认Furion.Application, Furion.Web.Entry, Furion.Web.CoreGroupOpenApiInfos:分组信息配置,SpecificationOpenApiInfo[],默认{ 'Group': 'Default'}SecurityDefinitions:安全策略定义配置,SpecificationOpenApiSecurityScheme[],默认[]Servers:配置 Server 下拉列表,OpenApiServer[]类型,默认[],如:{Servers:[ { Url:"地址", Description:"描述"} ]}HideServers:是否隐藏 Server 下拉列表,bool类型,默认trueRouteTemplate:配置文档swagger.json路由模板,默认模板:swagger/{documentName}/swagger.json,{documentName}代表分组名,必须保留原样PackagesGroups:配置模块化内置分组名称,string[]类型,默认[]EnableEnumSchemaFilter:启用枚举 Schema 筛选器,bool类型,默认trueEnableTagsOrderDocumentFilter:启用标签排序筛选器,bool类型,默认trueServerDir:配置IIS添加Application部署名,string类型,默认空,仅在 Furion v3.2.0+` 有效LoginInfo:配置Swagger是否需要登录才能访问,SpecificationLoginInfo类型,默认null,仅在 Furion v3.3.3+` 有效Enabled:是否启用登录授权,默认falseCheckUrl:检查登录状态的Url地址,该地址必须是POST请求
SubmitUrl:提交登录的Url地址,该地址必须是POST请求且只有一个SpecificationAuth类型参数,成功登录返回200,否则返回401,支持相对地址,以/开头EnableAllGroups:启用Swagger总分组功能,自动将所有分组的接口合并到All Groups中,bool类型,默认false,仅在 Furion v3.3.4+` 有效EnumToNumber:枚举类型生成值类型,bool类型,默认false,仅在 Furion 4.8.8.35+` 有效
另外 SpecificationOpenApiInfo 内置配置如下:
Group:分组唯一标识,string类型,必填Order:分组排序,int类型,数字越大排前面,默认0Visible:配置分组是否可见,bool类型,默认trueTitle:配置分组标题,string类型Description:配置分组描述,string类型Version:配置分组版本,默认1.0TermsOfService:配置相关链接地址,Uri类型Contact:配置联系方式,OpenApiContact类型License:配置协议,OpenApiLicense类型
7.3 配置示例
{
"SpecificationDocumentSettings": {
"GroupOpenApiInfos": [
{
"Group": "Group1",
"Title": "分组标题",
"Description": "这里是分组描述",
"Version": "版本号",
"TermsOfService": "http://furion.baiqian.ltd",
"Contact": {
"Name": "百小僧",
"Url": "https://gitee.com/monksoul",
"Email": "[email protected]"
},
"License": {
"Name": "MIT",
"Url": "https://gitee.com/dotnetchina/Furion/blob/alpha/LICENSE"
}
}
]
}
}
