新增API
在左侧导航栏中点击“API资产”,进入API资产管理页面。在API定义子页面中,您可以点击“新增API”按钮创建新的API,配置内容包含“基础信息”和“请求Body和参数限制”两部分。
基础信息
基础信息包含“基础配置”、“API端点配置”和“鉴权配置”。
-
基础配置:
- API名称:自定义API的名称,不可与已有的API重名。
- API分组:自定义API的分组名称。
- 所属域名:选择API所归属的域名。
- 备注:填写API的备注信息。
-
API端点配置:
- 请求方法:指定API支持的请求方法,如:GET、POST、DELETE、UPDATE等。不在指定的请求方法之内的相关API请求将被认为是非法的。
- API类型:指定API的类型。
- 普通接口:路径中不包含query string参数的普通接口,如:http://www.test.com/api。
- when-case接口:路径中包含query string参数,如:http://www.test.com/api?action=1与http://www.test.com/api?action=2是两个不同的接口。
- 端点路径:指定API的路径。
- 完整匹配:需输入完整路径,示例:/order/v1
- 正则匹配:需输入正则表达式匹配端点路径,示例:/order/*
- 匹配路径参数:开启匹配路径参数后,您可以使用大括号({})来定义端点路径的参数。例如有多个路径参数时,可配置为:/basePath/{pathParam1},{pathParam2},{pathParam3}。配置的路径参数根据其定义的参数名,可前往“请求Body与参数限制”进行进一步的参数合规配置。
- 大小写敏感:指定端点路径是否区分大小写。若大小写敏感,示例:/Order 和 /order为两不同的API路径。
-
鉴权配置:
- 免鉴权:无需对接口进行鉴权认证,进入其他检测流程;
- 秘钥对鉴权:客户端通过默认生成的密钥及算法生成鉴权令牌,可为需验证的鉴权令牌配置具体的参数名称、参数位置及鉴权有效期。
鉴权令牌的生成需客户端配合开发,详见鉴权配置。
请求Body和参数限制
请求Body和参数限制包含“请求Body限制”和“参数限制”两部分。
-
请求Body限制:
- Content-Type:指定请求Body的Content-Type。
- FORM表单:仅允许Content-Type为FORM表单类型,如:application/x-www-form-urlencoded。
- JSON:仅允许Content-Type为JSON的类型,如:application/json。
- 任意:允许请求头中携带任意类型的content-type。
- 为空不存在:禁止请求携带content-type,携带任何类型content-type均为不合法请求。
- Body最大限制(bytes):允许请求Body大小的最大限制,大于此限制的API请求将被认为是非法的。
- 最大嵌套层数:输入允许请求Body中JSON嵌套层数的最大值,大于此限制的API请求将被认为是非法的。
- JSON最大参数个数:输入允许请求body中JSON参数个数的最大值,大于此限制的API请求将被认为是非法的。
-
参数限制:
- Query String参数检测模式:
- 宽松模式(优先选择):仅检测有配置的部分参数,请求中未配置的参数将不受限制。
- 严格模式(慎重选择):将按照白名单形式严格校验接口中的所有参数,及发起请求的参数必须要在配置的参数列表中,注意需配置接口完整Query String参数。
当“基础信息-API端点配置”中API类型选择为“when-case接口”时,若要启用严格模式,需要将when-case接口路径中的Query String参数作为参数配置到参数限制中,以保障严格模式下参数白名单的完整度,否则会影响严格模式的参数匹配。
在“基础信息-API端点配置”中勾选了需要支持的请求方法后,需要在此为各个请求方法定义参数合规规范。支持定义参数的请求方法有:GET、POST、PUT、HEAD、PATCH、OPTIONS、DELETE。
当参数类型为“数组”时,需进一步配置数组内参数的具体类型,同一数组内的参数类型需保持一致。比如:当参数类型选择"数组",数组的参数类型配置为"数字"时,则数组内的数据均要满足为“数字”类型。
批量导入API
如果您希望批量导入一批已知的API,那么您可以在“API定义”子页面直接点击“导入API”。在弹窗中,参照引导内容完成API信息的填写,并点击“确认导入”。