5. 动态API配置
📝 模块更新日志
- 新特性
- 动态
WebAPI支持配置基元类型和字符串类型默认绑定信息 4.9.2.32 ⏱️2024.04.28 d7e7a02
- 动态
配置智能提示和校验
如需编写配置的时候提供智能提示和校验,可查看 【2.15 JSON Schema 使用】
只需要在 .json 文件头部添加下列配置即可:
{
"$schema": "https://gitee.com/dotnetchina/Furion/raw/v4/schemas/v4/furion-schema.json"
}
5.1 关于配置
动态 API 配置指的是 Furion 框架动态 API 配置选项。
5.2 配置信息
DynamicApiControllerSettings:配置根节点DefaultRoutePrefix:默认路由前缀,string,默认apiDefaultHttpMethod:默认请求谓词,string,默认:POSTDefaultModule:默认模块名称(区域),可用作接口版本,string,默认nullLowercaseRoute:小写路由格式,bool,默认:trueAsLowerCamelCase:启用小驼峰命名(首字母小写),默认falseKeepVerb:是否保留动作谓词,bool,默认:falseKeepName:是否保留默认名称,bool,默认:fasleCamelCaseSeparator:骆驼(驼峰)命名分隔符,string,默认:-VersionSeparator:版本分隔符,string,默认:v,Furion 4.9.1.14之前是@VersionInFront:版本号是否在前面,bool,默认true,Furion 4.9.1.14+支持ModelToQuery:GET/HEAD请求将类类型参数转查询参数,bool,默认falseSupportedMvcController:是否支持Mvc Controller动态配置,bool,默认falseUrlParameterization:路由参数采用[FromQuery]化,默认false([FromRoute]方式)DefaultArea:配置默认区域,默认nullForceWithRoutePrefix:配置是否强制添加DefaultRoutePrefix,当控制器自定义了[Route]有效,默认false,仅限 v3.4.1+版本有效AbandonControllerAffixes:默认去除控制器名称前后缀列表名,string[],默认:AppServicesAppServiceApiControllerControllerServicesService
AbandonActionAffixes:默认去除动作方法名称前后缀列表名,string[],默认:Async
VerbToHttpMethods:复写默认方法名转[HttpMethod]规则,string[][]二维数组类型,内置匹配规则为:["post"] = "POST",["add"] = "POST",["create"] = "POST",["insert"] = "POST",["submit"] = "POST",["get"] = "GET",["find"] = "GET",["fetch"] = "GET",["query"] = "GET",["put"] = "PUT",["update"] = "PUT",["delete"] = "DELETE",["remove"] = "DELETE",["clear"] = "DELETE",["patch"] = "PATCH"- 复写示例
"DynamicApiControllerSettings": {"VerbToHttpMethods": [[ "getall", "HEAD" ], // => getall 会被复写为 `[HttpHead]`[ "other", "PUT" ] // => 新增一条新规则,比如,一 `[other]` 开头会转换为 `[HttpPut]` 请求]}DefaultBindingInfo:默认基元参数绑定方式,string类型,取值route或query,Furion 4.9.2.32+版本支持
5.3 配置示例
{
"DynamicApiControllerSettings": {
"SupportedMvcController": true
}
}