基于名字校验url
简要描述:
- 校验远程应用的url是否正常
请求URL:
http://127.0.0.1:3000/rex?token=1527758554kkavremwokrcxbtpnknpniswmxdfwpiy
请求方式:
- POST
参数:
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
action | 是 | string | checkurl |
k | 是 | string | 名字(app_key)或者名字分组(local_name) 参见数据库字段的app_key或local_name 如果多个app_key,用空格隔开 |
详细说明:
这个接口根据录入的url,header,post参数等判断当前应用的接口是否正常
该参数保存在数据库表pre_server_detail表,具体可参照数据库字段
校验应用之前需要录入数据库的数据
比如校验server1的post接口是否正常
UPDATE pre_server_detail
SET
url = 'http://127.0.0.1:6080/packController/runCmd.do?cmd=uptime',
header = 'Content-Type:application/json',
params = '{"cmd":"uptime"}',
`require` = 'inputStr',
requirecode = '200'
WHERE
app_key = 'server1';
其中当params 不传时为get请求,当params 有参数为post请求。
header有多个时用分号;间隔。
require的意思是返回内容校验,requirecode 返回状态码校验。
如上示例,校验返回内容是否有inputStr 以及返回状态是否为200
请求示例
action=checkurl&k=server
返回示例
{
"code" : "0", //0 成功 非0 失败
"data" : { //返回数据
"code" : "0", //0 成功 非0 失败
"data" : { //返回数据
"0" : { //返回第1个数据
"code" : "0", //0 成功 非0 失败 //0 成功
"count" : "2", //总共数量
"data" : { //返回数据
"0" : { //返回第1个数据
"data" : { //返回数据
"0" : "1", //server1 为1时url校验成功
"1" : "server1",
},
"mainProcess" : "10889" //当前命令的进程ID
},
"1" : { //返回第2个数据
"data" : { //返回数据
"0" : "1", //server2 为1时url校验成功
"1" : "server2",
},
"mainProcess" : "10889" //当前命令的进程ID
},
},
"mainProcess" : "10889", //当前命令的进程ID
"msg" : "success"
},
},
"msg" : "成功"
},
"param" : { //请求参数 //参照应用校验模块解释
"action" : "checkurl", //请求模块
"k" : "server", //名字
"token" : "1527758554kkavremwokrcxbtpnknpniswmxdfwpiy" //token
},
"parseparameters" : { //解析,组合以及校验参数结果
"code" : "0", //0 成功 非0 失败
"msg" : "校验和解析参数成功",
"precmd" : "", //请求参数前缀
"requestCmd" : "checkurl,--k="server",--token="1527758554kkavremwokrcxbtpnknpniswmxdfwpiy",--w="1"" //请求参数后缀
},
"print_stdout" : "0", //是否打印输出结果 0 不打印 1 打印
"respon" : { //请求命令返回结果信息
"chdir" : "/data/RexdeployV3", //命令执行路径
"cmd" : "/usr/bin/rex -qF checkurl --k="server" --token="1527758554kkavremwokrcxbtpnknpniswmxdfwpiy" --w="1"", //执行命令
"code" : "1",
"msg" : "执行完成",
"ret" : "0", //最终执行命令返回值 0 成功 非0失败
"stderr" : "", //最终执行命令标准错误输出
"stdout" : "" //最终执行命令标准输出
},
"take" : "6" //执行命令花费时间
}