5. 动态API配置
配置智能提示和校验
如需编写配置的时候提供智能提示和校验,可查看 【2.7 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,默认:v1LowercaseRoute:小写路由格式,bool,默认:trueAsLowerCamelCase:启用小驼峰命名(首字母小写),默认falseKeepVerb:是否保留动 作谓词,bool,默认:falseKeepName:是否保留默认名称,bool,默认:fasleCamelCaseSeparator:骆驼(驼峰)命名分隔符,string,默认:-VersionSeparator:版本分隔符,string,默认:@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]` 请求
]
}
5.3 配置示例
{
"DynamicApiControllerSettings": {
"SupportedMvcController": true
}
}
