API调用概述
接口地址
如果你还没有HTTP接口地址,可以先在API节点中添加一个,请参考 API节点设置。
注意:这里说的HTTP接口地址不是GRPC地址,也不是管理系统地址。
如果想调用某个具体的方法,那么地址就是:
API接口地址/服务名/方法名
比如:
http://192.168.2.100/ServerService/createServer
调用方法
除了 /APIAccessTokenService/getAPIAccessToken
接口外,其他的所有接口都需要:
- 在HTTP Header中传递
X-Cloud-Access-Token
令牌数据,以便于我们认证用户是否有接口访问的权限,此令牌通过/APIAccessTokenService/getAPIAccessToken
接口获取,具体请参考 认证 一节。 - 所有请求数据需要以
POST
方法上传一个完整的JSON数据,接口响应数据也是JSON数据
比如:
POST /HTTPAccessLogService/listHTTPAccessLogs
...
X-Cloud-Access-Token: n8adDybtPCAGdbORkXjfpJgL28EGkOLz
...
{
"serverId": 23,
"day": "20210101",
"size": 100,
"reverse": true
}
可以在这里查看令牌获取方法。
CURL示例
curl -v -XPOST -H"X-Cloud-Access-Token: hZFW3yg1geeKYqLPjhmi5OyAtYoKingiNoemNkqjLWIsCXJcmaHDaUL1ELX6vtPrjvwiXiTuBN9mAVK8cUhn6PpuN1eLYbtN1seAFMpf2h6aZtFgkhAxI3cYUSZIwLQg" "http://192.168.1.6:8004/HTTPAccessLogService/listHTTPAccessLogs" -d '{
"size":100,
"day":"20211217"
}'
你需要把IP地址、X-Cloud-Access-Token换成你自己的。
格式化输出
可以在HTTP Header中增加 X-Cloud-Response-Pretty: on
来让输出的JSON更加可读。
HTTP状态码
调用API后,一定 要检查API响应的HTTP状态码(注意是HTTP状态码,不是JSON里面的code
),只有200
才是响应成功,以下是常见的几种响应状态码错误:
400
- 错误的请求格式(可能是发送的内容过大、或JSON数据格式错误)404
- API服务或方法不存在,或错误的API路径
常见问题
调用API的时候提示 Received HTTP/0.9 when not allowed
是怎么回事?
答:你没有按照本文开头部分所说的添加HTTP接口地址,请 点击这里 添加HTTP接口地址后再重试。