所有对资源的操作都符合标准的REST协议,资源的请求和回复都采用JSON编码,Error也采用JSON编码
Response的body含有两个基本组件:metadata和entity
在metadata中包含:
属性 | 描述 |
guid | 资源的唯一id |
url | 资源的 |
Created_at | 创建时间 |
Updated_at | 更新时间 |
所有的GET请求默认是被标了页码的,如果不带这个参数是会把请求的所有结果返回
一个被标识页码的response包含了如下属性
属性 | 描述 |
total_results | 总共的数据个数 |
total_pages | 数据集的页数 |
prev_url | 获取上一页的数据url,第一个请求是null |
next_url | 获取下一页的数据url,最后一个请求是null |
resources | 返回的数据内容 |
Pagination请求参数
参数 | 描述 |
page | Page迭代起始点 |
results-per-page | 每页的数据个数 |
urls-only | 只返回url,不会扩展metadata或者resource |
通过在请求中添加q这个参数来进行查询和过滤,q参数的值是一个key-value的键值对,比如:GET/v2/foo_bars?q=name:some*。
同时在q参数的值中可以包含 > 和 < 符号,比如:GET/v2/foo_bars?q=instances:>2
通过在GET请求参数中设置inline-relations-depth值,来控制请求的API访问的资源的深度,它的值代表深度;如果inline-relations-depth参数设置为0,那么对请求的资源中的metadata的url不会进行深度遍历查询,否则会;
除了http reponse头的错误码之外,error的具体信息在response body中通过json编码保存
属性 | 描述 |
code | 唯一的错误码(整形) |
descriptions | 对于错误的描述信息 |
名字 | 注意 | 描述 |
Version | 可选 | 版本信息 |
From | 非空 | 消息来源 |
Date | 非空 | 请求发送的时间(UTC) |
ACCESS-KEY | 非空 | 用户的access_key,通过点击用户详情获取 |
Path | 非空 | URI路径 |
Signature | 非空 | 签名内容 |
StringToSign = HTTP-Verb + "\n" +// http 的请求动作
Content-MD5 + "\n" + // http 请求的Md5 值
Content-Type + "\n" + // http 请求的类型
Date + "\n" + // http 请求的时间
Path //uri路径
注:
1) HTTP-Verb 表示http 的请求动作,目前我们支持"GET""PUT" "DELETE" "POST"
四种请求动作(不能为空,要小写)
2) Content-MD5 表示请求内容数据的MD5 值(可以为空)
3) Content-Type 表示请求内容的类型(可以为空)
4) Date 表示了此次操作的时间(不能为空)
6) Path表示http 请求的URI路径(不能为空)
Signature =Base64(HMAC-SHA1(UTF-8-Encoding-Of(SecretKey, StringToSign ) ) );
资源URL:GET /v2/organizations
参数 | 注意 | 描述 |
limit | 可选 | 结果个数限制 |
offset | 可选 | Offset的迭代起点 |
urls-only | 可选 | 只返回url,不会扩展metadata或者resource |
inline-relations-depth | 可选 | 0-表示不深度查询 |
q | 可选 | Search/filtering字符串,格式: |
q请求的attribute-names包括:* name * spaceguid * userguid * managerguid * billingmanagerguid *auditorguid
名字 | 概要 |
total_results | Integer |
prev_url | String /HTTPURLREGEX/ |
next_url | String /HTTPURLREGEX/ |
resources | [{:metadata => Hash,:entity => Hash,}] |
:metadata的格式:
名字 | 概要 |
guid | String |
url | String /HTTPURLREGEX/ |
created_at | Date |
updated_at | Date |
:entity的格式:
名字 | 概要 |
name | String |
billing_enabled | bool |
quotadefinitionguid | String |
status | String |
quotadefinitionurl | String /HTTPURLREGEX/ |
spaces_url | String /HTTPURLREGEX/ |
domains_url | String /HTTPURLREGEX/ |
users_url | String /HTTPURLREGEX/ |
managers_url | String /HTTPURLREGEX/ |
billingmanagersurl | String /HTTPURLREGEX/ |
auditors_url | String /HTTPURLREGEX/ |
app_events_url | String /HTTPURLREGEX/ |
资源URL:GET /v2/organizations/:guid
注:guid可以从list organization中的metadata的guid字段中获得
名字 | 概要 |
metadata | Hash |
entity | Hash |
:metadata的格式:
名字 | 概要 |
guid | String |
url | String /HTTPURLREGEX/ |
created_at | Date |
updated_at | Date |
:entity的格式:
名字 | 概要 |
name | String |
billing_enabled | bool |
quotadefinitionguid | String |
status | String |
quotadefinitionurl | String /HTTPURLREGEX/ |
spaces_url | String /HTTPURLREGEX/ |
domains_url | String /HTTPURLREGEX/ |
users_url | String /HTTPURLREGEX/ |
managers_url | String /HTTPURLREGEX/ |
billingmanagersurl | String /HTTPURLREGEX/ |
auditors_url | String /HTTPURLREGEX/ |
app_events_url | String /HTTPURLREGEX/ |
资源URL:GET /v2/user_info
名字 | 概要 |
user | String |
资源URL:GET /v2/users/:guid
名字 | 概要 |
metadata | Hash |
entity | Hash |
:metadata的格式:
名字 | 概要 |
guid | String |
url | String /HTTPURLREGEX/ |
created_at | Date |
updated_at | Date |
:entity的格式:
名字 | 概要 |
guid | String |
admin | bool |
defaultspaceguid | String |
defaultspaceurl | String /HTTPURLREGEX/ |
spaces_url | String /HTTPURLREGEX/ |
organizations_url | String /HTTPURLREGEX/ |
managedorganizationsurl | String /HTTPURLREGEX/ |
billingmanagedorganizations_url | String /HTTPURLREGEX/ |
auditedorganizationsurl | String /HTTPURLREGEX/ |
managedspacesurl | String /HTTPURLREGEX/ |
auditedspacesurl | String /HTTPURLREGEX/ |
资源URL:GET /v2/spaces
参数 | 注意 | 描述 |
limit | 可选 | 结果个数限制 |
offset | 可选 | Offset的迭代起点 |
urls-only | 可选 | 只返回url,不会扩展metadata或者resource |
inline-relations-depth | 可选 | 0-表示不深度查询 |
q | 可选 | Search/filtering字符串,格式: |
q参数的请求attribute-names内容:* name * organizationguid * developerguid * app_guid
名字 | 概要 |
total_results | Integer |
prev_url | String /HTTPURLREGEX/ |
next_url | String /HTTPURLREGEX/ |
resources | [{:metadata => Hash,:entity => Hash,}] |
:metadata的格式:
名字 | 概要 |
guid | String |
url | String /HTTPURLREGEX/ |
created_at | Date |
updated_at | Date |
:entity的格式:
名字 | 概要 |
name | String |
organization_guid | String |
organization_url | String /HTTPURLREGEX/ |
developers_url | String /HTTPURLREGEX/ |
managers_url | String /HTTPURLREGEX/ |
auditors_url | String /HTTPURLREGEX/ |
apps_url | String /HTTPURLREGEX/ |
billingmanagersurl | String /HTTPURLREGEX/ |
domains_url | String /HTTPURLREGEX/ |
serviceinstancesurl | String /HTTPURLREGEX/ |
资源URL:GET /v2/spaces/:guid
名字 | 概要 |
metadata | Hash |
entity | Hash |
:metadata的格式:
名字 | 概要 |
guid | String |
url | String /HTTPURLREGEX/ |
created_at | Date |
updated_at | Date |
:entity的格式:
名字 | 概要 |
name | String |
organization_guid | String |
organization_url | String /HTTPURLREGEX/ |
developers_url | String /HTTPURLREGEX/ |
managers_url | String /HTTPURLREGEX/ |
auditors_url | String /HTTPURLREGEX/ |
apps_url | String /HTTPURLREGEX/ |
billingmanagersurl | String /HTTPURLREGEX/ |
domains_url | String /HTTPURLREGEX/ |
serviceinstancesurl | String /HTTPURLREGEX/ |
资源URL:GET /v2/apps
参数 | 注意 | 描述 |
limit | 可选 | 结果个数限制 |
offset | 可选 | Offset的迭代起点 |
urls-only | 可选 | 只返回url,不会扩展metadata或者resource |
inline-relations-depth | 可选 | 0-表示不深度查询 |
q | 可选 | Search/filtering字符串,格式: |
q参数的请求attribute-names内容:* name * spaceguid * organizationguid * frameworkguid * runtimeguid
名字 | 概要 |
total_results | Integer |
prev_url | String /HTTPURLREGEX/ |
next_url | String /HTTPURLREGEX/ |
resources | [{:metadata => Hash,:entity => Hash,}] |
:metadata的格式:
名字 | 概要 |
guid | String |
url | String /HTTPURLREGEX/ |
created_at | Date |
updated_at | Date |
:entity的格式:
名字 | 概要 |
name | String |
production | bool |
environment_json | Hash |
memory | Integer |
instances | Integer |
file_descriptors | Integer |
disk_quota | Integer |
state | String |
command | String |
console | bool |
space_guid | String |
space_url | String /HTTPURLREGEX/ |
runtime_guid | String |
runtime_url | String /HTTPURLREGEX/ |
framework_guid | String |
framework_url | String /HTTPURLREGEX/ |
servicebindingsurl | String /HTTPURLREGEX/ |
routes_url | String /HTTPURLREGEX/ |
资源URL:GET /v2/apps/:guid
名字 | 概要 |
metadata | Hash |
entity | Hash |
:metadata的格式:
名字 | 概要 |
guid | String |
url | String /HTTPURLREGEX/ |
created_at | Date |
updated_at | Date |
:entity的格式:
名字 | 概要 |
name | String |
production | bool |
environment_json | Hash |
memory | Integer |
instances | Integer |
file_descriptors | Integer |
disk_quota | Integer |
state | String |
command | String |
console | bool |
space_guid | String |
space_url | String /HTTPURLREGEX/ |
runtime_guid | String |
runtime_url | String /HTTPURLREGEX/ |
framework_guid | String |
framework_url | String /HTTPURLREGEX/ |
servicebindingsurl | String /HTTPURLREGEX/ |
routes_url | String /HTTPURLREGEX/ |
资源URL:GET /v2/apps/:guid/instances
名字 | 概要 |
int型数字 | Hash |
资源URL:GET /v2/apps/:guid/stats
名字 | 概要 |
int型数字 | Hash |
资源URL:Get /v2/routes
参数 | 注意 | 描述 |
limit | 可选 | 结果个数限制 |
offset | 可选 | Offset的迭代起点 |
urls-only | 可选 | 只返回url,不会扩展metadata或者resource |
inline-relations-depth | 可选 | 0-表示不深度查询 |
q | 可选 | Search/filtering字符串,格式: |
q参数的请求attribute-names内容:* name * organizationguid * app_guid
名字 | 概要 |
total_results | Integer |
prev_url | String /HTTPURLREGEX/ |
next_url | String /HTTPURLREGEX/ |
resources | [{:metadata => Hash,:entity => Hash,}] |
:metadata的格式:
名字 | 概要 |
guid | String |
url | String /HTTPURLREGEX/ |
created_at | Date |
updated_at | Date |
:entity的格式:
名字 | 概要 |
host | String |
domain_guid | String |
space_guid | String |
domain_url | String /HTTPURLREGEX/ |
space_url | String /HTTPURLREGEX/ |
apps_url | String /HTTPURLREGEX/ |
资源URL:Get /v2/routes/:guid
名字 | 概要 |
metadata | Hash |
entity | Hash |
:metadata的格式:
名字 | 概要 |
guid | String |
url | String /HTTPURLREGEX/ |
created_at | Date |
updated_at | Date |
:entity的格式:
名字 | 概要 |
host | String |
domain_guid | String |
space_guid | String |
domain_url | String /HTTPURLREGEX/ |
space_url | String /HTTPURLREGEX/ |
apps_url | String /HTTPURLREGEX/ |
资源URL:Get /v2/domains/:guid
名字 | 概要 |
metadata | Hash |
entity | Hash |
:metadata的格式:
名字 | 概要 |
guid | String |
url | String /HTTPURLREGEX/ |
created_at | Date |
updated_at | Date |
:entity的格式:
名字 | 概要 |
name | String |
owning_organization_guid | String |
wildcard | bool |
spaces_url | String /HTTPURLREGEX/ |