开发者社区> 问答> 正文

公共参数应该如何应用?

公共参数包括两个部分:公共请求参数与公共返回参数。

公共请求参数:每个接口都需要使用的请求参数。

公共返回参数:任何的接口调用,无论成功与否,系统都会返回的参数。

公共请求参数

DRDS Open API 所有的公共请求参数如下表所示:

名称    类型    是否必须    描述
Format    String    否    返回值的类型,支持 JSON 与 XML。
Action    String    是    调用接口名称。
Version    String    是    API 版本号,为日期形式:YYYY-MM-DD,当前版本对应为2015-04-13。
AccessKeyId    String    是    阿里云颁发给用户的访问服务所用的密钥 ID。
SignatureMethod    string    是    签名方式,目前支持 HMAC-SHA1。
Timestamp    String    是    请求的时间戳。日期格式按照 ISO8601 标准表示,并需要使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。 例如,2013-08-15T12:00:00Z(为北京时间2013年1月10日20点0分0秒)。
SignatureVersion    String    是    签名算法版本,目前版本是1.0。
SignatureNonce    String    是    唯一随机数,用于防止网络重放攻击。用户在不同请求间要使用不同的随机数值。
RegionId    String    是    DRDS 所在的地域。
Signature    String    是    签名结果串。关于签名的计算方法,请参见签名机制。
公共返回参数

DRDS Open API 的公共返回参数:唯一识别码 RequestId。RequestId 标识了用户的每一次 API 调用请求,用于 API 方面的问题排查。

RequestId 的示例(XML 格式)

<?xml version="1.0" encoding="utf-8"?>
<!—结果的根结点-->
<接口名称+Response>
    <!—返回请求标签-->
    <RequestId>
        4C467B38-3910-447D-87BC-AC049166F216
    </RequestId>
    <!—返回结果数据-->
    ...
</接口名称+Response>
返回结果

调用 API 服务后返回数据采用统一格式,

返回的 HTTP 状态码为 2xx,代表调用成功;

返回 4xx 或 5xx 的 HTTP 状态码代表调用失败。

调用成功返回的数据格式主要有 XML 和 JSON 两种,外部系统可以在请求时传入参数来制定返回的数据格式,推荐使用 JSON 格式。

为了便于查看,本文中的返回示例做了格式化处理。实际返回结果是没有进行换行、缩进等处理的。

成功的返回结果

结果包括请求是否成功信息和具体的业务数据。

XML

<?xml version="1.0" encoding="utf-8"?>
<!—结果的根结点-->
<接口名称+Response>
    <!—返回请求标签-->
    <RequestId>
        4C467B38-3910-447D-87BC-AC049166F216
    </RequestId>
    <!—返回结果数据-->
    ...
</接口名称+Response>
JSON

{
    <!—返回的请求ID-->
    "RequestId": "4C467B38-3910-447D-87BC-AC049166F216",
    /* 返回结果数据 */
    ...
}
错误的返回结果

调用接口出错后,将不会返回结果数据。调用方可根据错误代码表来定位错误原因。

当调用出错时,HTTP 请求会返回4个信息:

一个 4xx 或 5xx 的 HTTP 状态码;

具体的错误代码及错误信息;

一个全局唯一的请求 ID;

一个您该次请求访问的站点 ID:HostId。

如果根据 API 的返回信息找不到错误原因,可以联系阿里云客服,并提供该 HostId 和 RequestId,以方便 DRDS 工作人员尽快解决问题。

XML

<?xml version="1.0" encoding="UTF-8"?>
<Error>
       <RequestId>8906582E-6722-409AA6C4-0E7863B733A5</RequestId>
       <HostId>drds.aliyuncs.com</HostId>
       <Code>UnsupportedOperation</Code>
       <Message>The specified action is not supported.</Message>
</Error>
JSON

{
    "RequestId": "7463B73D-35CC-4D19-A010-6B8D65D242EF",
    "HostId": "rds.aliyuncs.com",
    "Code": "UnsupportedOperation",
    "Message": "The specified action is not supported."
}

展开
收起
猫饭先生 2017-10-30 14:01:39 1729 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载

相关实验场景

更多