URL、Query String、HTTP body三种方式均可用于传参。每种方式可以单独使用,也可以混合使用,具体使用哪种传参方式由具体API决定。
URL传参
当对某具体资源进行操作时,资源的UUID通过编码到URL的方式进行传参。
例如启动一个UUID为
f97143d60f1042c9badd9a1336d3c105的虚拟机,URL格式为:
zstack/v1/vm-instances/f97143d60f1042c9badd9a1336d3c105/actions这里UUID编码到URL路径当中。
Query String传参
所有使用HTTP GET方法的API均使用Query String传参。
例如查询所有状态为Running的虚拟机,
URL格式为:
zstack/v1/vm-instances?q=state=RunningHTTP Body传参
当使用POST方法创建一个资源,或PUT方法修改一个资源时,除通过URL传参的部分外,剩余参数均通过HTTP Body传参。
例如在指定物理机上启动一个虚拟机:
PUT zstack/v1/vm-instances/f97143d60f1042c9badd9a1336d3c105/actions
{
"startVmInstance": {
"hostUuid": "8aef7e3a53b34eedaa05027a919156d9"
}
}这里虚拟机的UUID通过URL传参,参数hostUuid则通过HTTP Body传递。