系列文章导航:
[jvm-sandbox-repeater 学习笔记][入门使用篇] 1 安装与启动
[jvm-sandbox-repeater 学习笔记][入门使用篇] 2 配置说明
[jvm-sandbox-repeater 学习笔记][入门使用篇] 3 现有接口说明(本文)
[jvm-sandbox-repeater 学习笔记][入门使用篇] 4 录制、回放与调试
这里梳理了 repeater、repeater-console 的现有的接口,是记录在 yapi 中导出为 markdown 的。
Path: /sandbox/default/module/http/repeater/repeat
Method: POST
接口描述:
repeater 供 repeater-console 调用的推送回放任务接口
Headers
参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
---|---|---|---|---|
Content-Type | application/x-www-form-urlencoded | 是 |
Body
参数名称 | 参数类型 | 是否必须 | 示例 | 备注 |
---|---|---|---|---|
_data | text | 是 | RepeatMeta 对象序列化后的字符串 |
submit success
Path: /sandbox/default/module/http/repeater/pushConfig
Method: POST
接口描述:
repeater 供 repeater-console 调用的更新配置接口
由于 repeater 的更新配置功能未完善,所以该接口状态为未完成
Headers
参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
---|---|---|---|---|
Content-Type | application/x-www-form-urlencoded | 是 |
Body
参数名称 | 参数类型 | 是否必须 | 示例 | 备注 |
---|---|---|---|---|
_data | text | 是 | RepeaterConfig 对象序列化后的字符串 |
名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
code | number | 非必须 | 成功则 200 | ||
body | string | 非必须 | 成功则 config push success | ||
message | null | 非必须 | 成功则 null | ||
success | boolean | 非必须 | 成功则 true |
Path: /facade/api/repeat/save
Method: POST
接口描述:
该接口为供 repeater 保存回放结果调用,
传入 RepeatModel 序列化后的字符串
Headers
参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
---|---|---|---|---|
Content-Type | application/json | 是 |
Body
直接在 body 写入序列化后的字符串即可
名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
success | boolean | 非必须 | true | ||
data | string | 非必须 | -/- | ||
message | string | 非必须 | operate success |
Path: /facade/api/record/save
Method: POST
接口描述:
该接口为供 repeater 保存录制记录调用,
传入 RecordWrapper 序列化后的字符串
Headers
参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
---|---|---|---|---|
Content-Type | application/json | 是 |
Body
直接在 body 写入序列化后的字符串即可
名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
success | boolean | 非必须 | true | ||
data | string | 非必须 | -/- | ||
message | string | 非必须 | operate success |
Path: /facade/api/config/{appName}/{env}
Method: GET
接口描述:
供 repeater 调用的接口,repeater 以非 standalone 模式启动时会调用该接口获取录制回放配置,获取失败可能导致 repeater 启动失败。
虽然接口有传入参数,但是由于接口没有实现根据 appName 以及 env 来区分不同的配置,传任何参数都会指向一个配置
路径参数
参数名称 | 示例 | 备注 |
---|---|---|
appName | 应用名称 | |
env | 环境名称 |
名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
success | boolean | 必须 | 请求是否成功 | ||
message | string | 必须 | 请求返回信息 | ||
data | object | 必须 | 配置数据,以下字段为 data 中返回的信息 | ||
pluginsPath | string | 必须 | 插件路径,默认填 null 即可 | ||
exceptionThreshold | number | 必须 | 异常发生阈值;默认 1000 当 ExceptionAware 感知到异常次数超过阈值后,会降级模块。默认填写 1000 即可 | ||
pluginIdentities | string [] | 必须 | 录制所使用的插件列表,配置了相应的插件名称,才能启用对应类别插件类别的录制 | item 类型: string | |
repeatIdentities | string [] | 必须 | 回放所使用的插件列表,配置了对应的插件,才能进行对应类别的回放 | item 类型: string | |
httpEntrancePatterns | string [] | 必须 | 需要录制和回放的 http 接口 需要同时在 pluginIdedentities 和 repeatIdentities 中都配置了 http 这个配置才生效 |
item 类型: string | |
sampleRate | number | 必须 | 采样率;最小粒度万分之一,默认为 10000 | ||
javaEntranceBehaviors | object [] | 必须 | 需要录制和回放的 java 方法的入口 需要同时在 pluginIdedentities 配置了 java-entrance 以及 repeatIdentities 配置了 java 这个配置才生效 |
item 类型: object | |
javaSubInvokeBehaviors | object [] | 必须 | 需要录制和 mock 的 java 方法的配置 需要 pluginIdedentities 配置了 java-subInvoke 这个配置才生效 |
item 类型: object | |
useTtl | boolean | 必须 | 是否开启线程跟踪,默认 true 即可 | ||
degrade | boolean | 必须 | 是否降级,开启降级之后,不进行录制,只处理回放请求。默认取 false 即可。 |
Path: /facade/api/record/{appName}/{traceId}
Method: GET
接口描述:
该接口主要是供 repeater 在执行回放结果的时候,获取需要回放的记录用的。
返回结果为序列化后的录制记录,并不可读。
Headers
参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
---|---|---|---|---|
Content-Type | application/json | 是 |
路径参数
参数名称 | 示例 | 备注 |
---|---|---|
appName | 录制记录的 appName | |
traceId | 录制记录的 traceId |
名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
success | boolean | 非必须 | 是否获取成功 | ||
data | string | 非必须 | 序列化的录制记录 | ||
message | string | 非必须 | 都会返回 operate success |
Path: /facade/api/repeat/callback/{repeatId}
Method: GET
接口描述:
获取单个记录的回放结果,详情见返回结果说明
路径参数
参数名称 | 示例 | 备注 |
---|---|---|
repeatId | 回放结果的 repeatId |
名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
success | boolean | 必须 | 请求是否成功 | ||
message | string | 必须 | operate success | ||
data | object | 必须 | 回放结果数据,后面的字段全为 data 中的数据 | ||
repeatId | string | 必须 | 回放结果的 repeatId | ||
finish | boolean | 必须 | 是否已回放完成 | ||
response | string | 必须 | 本次回放返回的结果 | ||
originResponse | string | 必须 | 录制记录中这个入口调用返回的结果 | ||
diff | null | 必须 | null | 回放结果与录制记录中的结果差异(由于官方没有实现该功能,所以默认返回 null) | |
cost | number | 必须 | 回放耗时 | ||
traceId | string | 必须 | 回放记录的 traceId | ||
starTime | string | 必须 | 回放开始时间 | ||
endTime | string | 必须 | 回放结束时间 | ||
mockInvocations | object [] | 必须 | 回放过程中被 mock 的步骤的执行结果,后面的字段全为 1 个 mockInvocation 对象的字段 | item 类型: object | |
index | number | 必须 | mock 步骤的序号 | ||
traceId | string | 必须 | 回放记录的 traceId | ||
repeatId | string | 必须 | 回放结果的 repeatId | ||
success | boolean | 必须 | 这个 mock 步骤是否执行成功 | ||
skip | boolean | 必须 | 这个 mock 步骤是否被跳过 | ||
cost | number | 必须 | 这个 mock 步骤的耗时 | ||
originUri | string | 必须 | 这个 mock 步骤的录制时的标识 url | ||
currentUri | string | 必须 | 这个 mock 步骤回放时标识 url | ||
originArgs | object [] | 必须 | 这个 mock 步骤的录制时的入参 | item 类型: object | |
currentArgs | object [] | 必须 | 这个 mock 步骤回放时入参 | item 类型: object |
Path: /facade/api/repeat/{appName}/{traceId}
Method: GET
接口描述:
读取repeat.repeat.url 所配置的 url,触发相应的 repeater 执行回放的接口,供用户调用。
能够触发单个录制记录的回放,需要提供被回放记录的 traceId 以及 appName。
任务下发成功,则返回回放记录的 repeatId,用以查询回放结果。
如果任务下发失败则返回异常信息。
路径参数
参数名称 | 示例 | 备注 |
---|---|---|
appName | 需要回放的记录的应用名 | |
traceId | 需要回放的记录的 traceId |
名称 | 类型 | 是否必须 | 默认值 | 备注 | 其他信息 |
---|---|---|---|---|---|
success | boolean | 非必须 | 是否回放成功 | ||
data | string | 非必须 | 成功则返回 repeatId,失败则返回异常信息 | ||
message | string | 非必须 | 成功则返回 operate success,失败则返回异常信息 |