RESTFul API 接口文档模板

修订记录

发布日期修改说明
2019-01-01第一次发布

说明

排版约定
排版格式含义
< >变量
[ ]可选项
{ }必选项
|互斥关系
等宽字体Courier New屏幕输出
编码

若请求消息体中的参数支持中文,则中文字符必须为UTF-8编码。

时间与日期

日期与时间的表示有多种方式。为统一起见,除非是约定俗成或者有相应规范的,凡需要日期时间表示的地方一律采用UTC时间,遵循ISO 8601,并做以下约束:

  1. 表示日期一律采用YYYY-MM-DD方式,例如2016-06-01表示2016年6月1日
  2. 表示时间一律采用hh:mm:ss方式,并在最后加一个大写字母Z表示UTC时间。例如23:00:10Z表示UTC时间23点0分10秒。
  3. 凡涉及日期和时间合并表示时,在两者中间加大写字母T,例如2016-06-01T23:00:10Z表示UTC时间2016年6月1日23点0分10秒
发送请求

共有三种方式可以基于已构建好的请求消息发起请求,分别为:

  • cURL

    cURL是一个命令行工具,用来执行各种URL操作和信息传输。cURL充当的是HTTP客户端,可以发送HTTP请求给服务端,并接收响应消息。cURL适用于接口调试。关于cURL详细信息请参见https://curl.haxx.se/

  • 编码

    通过编码调用接口,组装请求消息,并发送处理请求消息。

  • REST客户端

    Mozilla、Google都为REST提供了图形化的浏览器插件,发送处理请求消息。针对Firefox,请参见FirefoxREST Client;针对Chrome,请参见Postman

API 规格

公共请求消息头

下表列出了所有 XXX API 所携带的公共头域。HTTP 协议的标准头域不再这里列出了。

消息头(Header)是否必须说明
Content-Type可选application/json; charset=utf-8
公共响应消息头

下表列出了所有 XXX API的公共响应头域。HTTP协议的标准响应头域不再这里列出了。

消息头(Header)说明
Content-Type只支持JSON格式,application/json; charset=utf-8
错误返回格式

XXX 错误响应符合BCE规范,统一为如下格式。后续各接口不再单独列出。

参数名类型说明
codestring错误码
messagestring错误描述
bodystring本次请求的体

示例

{
    "code" : "AccessDenied",
    "message" : "Access denied.",
    "body" : ""
}

其中,code为错误码,所有错误码取值来源 XXX 公共错误码和 XXX 专有错误码。

公共错误码
错误码错误描述HTTP 状态码中文解释英文解释
错误码

参考各接口错误码。

接口说明

接口简介

依次列出所有接口

类型子类型说明
接口调用流程

说明接口使用流程

XXXX

描述

对接口的描述

URI

POST /v1/{id}/user

Path 参数

参数说明

query 参数

参数是否必须描述
请求消息头

除公共消息头外,无其它特殊消息头。

参数说明是否必须示例
请求参数体
参数名称类型描述是否必须
resultxxx对取值范围,约束,说明,示例的描述

注:类型部分,如果是一个对象,可以在用 xxx 字段数据结构 在下面表格说明

xxx 字段数据结构说明

参数类型描述是否必选
返回消息头

除公共消息头,无其它特殊消息头。

参数说明是否必须示例
返回参数
参数名称类型描述
subnetsList xxx子网列表

xxx 字段数据结构说明

参数是否必选参数说明描述
错误码
HTTP 状态码错误码错误描述中文解释英文解释建议措施
请求示例
URI

Header

Body
应答示例
Status

Header

Body

参考

华为公有云 API 接口

https://support.huaweicloud.com/api-ecs/zh-cn_topic_0065792793.html

https://support.huaweicloud.com/api-ecs/zh-cn_topic_0020805967.html

https://support.huaweicloud.com/api-cci/cci_02_3002.html

附录

通用请求返回值
  • 正常

    返回值说明
    200请求成功。
    202任务提交成功,当前系统繁忙,下发的任务会延迟处理。
    204任务提交成功。
  • 异常

    返回值说明
    300 multiple choices被请求的资源存在多个可供选择的响应。
    400 Bad Request服务器未能处理请求。
    401 Unauthorized被请求的页面需要用户名和密码。
    403 Forbidden对被请求页面的访问被禁止。
    404 Not Found服务器无法找到被请求的页面。
    405 Method Not Allowed请求中指定的方法不被允许。
    406 Not Acceptable服务器生成的响应无法被客户端所接受。
    407 Proxy Authentication Required用户必须首先使用代理服务器进行验证,这样请求才会被处理。
    408 Request Timeout请求超出了服务器的等待时间。
    409 Conflict由于冲突,请求无法被完成。
    500 Internal Server Error请求未完成。服务异常。
    501 Not Implemented请求未完成。服务器不支持所请求的功能。
    502 Bad Gateway请求未完成。服务器从上游服务器收到一个无效的响应。
    503 Service Unavailable请求未完成。系统暂时异常。
    504 Gateway Timeout网关超时。
状态码编码状态说明
100Continue继续请求。这个临时响应用来通知客户端,它的部分请求已经被服务器接收,且仍未被拒绝。
101Switching Protocols切换协议。只能切换到更高级的协议。例如,切换到HTTP的新版本协议。
201Created创建类的请求完全成功。
202Accepted已经接受请求,但未处理完成。
203Non-Authoritative Information非授权信息,请求成功。
204NoContent请求完全成功,同时HTTP响应不包含响应体。在响应OPTIONS方法的HTTP请求时返回此状态码。
205Reset Content重置内容,服务器处理成功。
206Partial Content服务器成功处理了部分GET请求。
300Multiple Choices多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择。
301Moved Permanently永久移动,请求的资源已被永久的移动到新的URI,返回信息会包括新的URI。
302Found资源被临时移动。
303See Other查看其它地址。使用GET和POST请求查看。
304Not Modified所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。
305Use Proxy所请求的资源必须通过代理访问。
306Unused已经被废弃的HTTP状态码。
400BadRequest非法请求。建议直接修改该请求,不要重试该请求。
401Unauthorized在客户端提供认证信息后,返回该状态码,表明服务端指出客户端所提供的认证信息不正确或非法。
402Payment Required保留请求。
403Forbidden请求被拒绝访问。返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置为拒绝访问,建议直接修改该请求,不要重试该请求。
404NotFound所请求的资源不存在。建议直接修改该请求,不要重试该请求。
405MethodNotAllowed请求中带有该资源不支持的方法。建议直接修改该请求,不要重试该请求。
406Not Acceptable服务器无法根据客户端请求的内容特性完成请求。
407Proxy Authentication Required请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权。
408Request Time-out服务器等候请求时发生超时。客户端可以随时再次提交该请求而无需进行任何更改。
409Conflict服务器在完成请求时发生冲突。返回该状态码,表明客户端尝试创建的资源已经存在,或者由于冲突请求的更新操作不能被完成。
410Gone客户端请求的资源已经不存在。返回该状态码,表明请求的资源已被永久删除。
411Length Required服务器无法处理客户端发送的不带Content-Length的请求信息。
412Precondition Failed未满足前提条件,服务器未满足请求者在请求中设置的其中一个前提条件。
413Request Entity Too Large由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息。
414Request-URI Too Large请求的URI过长(URI通常为网址),服务器无法处理。
415Unsupported Media Type服务器无法处理请求附带的媒体格式。
416Requested range not satisfiable客户端请求的范围无效。
417Expectation Failed服务器无法满足Expect的请求头信息。
422UnprocessableEntity请求格式正确,但是由于含有语义错误,无法响应。
429TooManyRequests表明请求超出了客户端访问频率的限制或者服务端接收到多于它能处理的请求。建议客户端读取相应的Retry-After首部,然后等待该首部指出的时间后再重试。
500InternalServerError表明服务端能被请求访问到,但是不能理解用户的请求。
501Not Implemented服务器不支持请求的功能,无法完成请求。
502Bad Gateway充当网关或代理的服务器,从远端服务器接收到了一个无效的请求。
503ServiceUnavailable被请求的服务无效。建议直接修改该请求,不要重试该请求。
504ServerTimeout请求在给定的时间内无法完成。客户端仅在为请求指定超时(Timeout)参数时会得到该响应。
505HTTP Version not supported服务器不支持请求的HTTP协议的版本,无法完成处理。
任务类接口
  • 正常响应要素说明

    名称参数类型说明
    job_idString提交任务成功后返回的任务ID,用户可以使用该ID对任务执行情况进行查询。如何根据job_id来查询Job的执行状态,请参考查询Job状态。
  • 异常响应要素说明

    名称参数类型说明
    error字典数据结构提交任务异常是返回的异常信息,详情请参见 error 数据结构说明。

    error 数据结构说明

    名称参数类型说明
    messageString任务异常错误信息描述。
    codeString任务异常错误信息编码。
  • 响应样例

    正常响应:

    { 
        "job_id": "70a599e0-31e7-49b7-b260-868f441e862b", 
    } 
    

    异常响应:

    { 
        "error": {"message": "", "code": XXX}
    } 
    

批量接口

  • 正常响应要素说明

    名称参数类型说明
    response列表数据结构提交请求成功后返回的响应列表,详情请参见下面response数据结构说明。

    response数据结构说明

    名称参数类型说明
    idString操作成功的虚拟机id
  • 异常响应要素说明

    名称参数类型说明
    error字典数据结构批量请求异常时返回的整体异常信息,详情请参见 error 数据结构。
    internalError列表数据结构批量请求处理中,每一个单个请求的具体异常信息,详情请参见 internalError 数据结构说明。

    error 数据结构说明

    名称参数类型说明
    messageString批量操作整体异常错误信息描述。
    codeString批量操作整体异常错误信息编码。

    internalError 数据结构说明

    名称参数类型说明
    idString具体单个请求操作失败的虚拟机id
    error_messageString具体单个请求操作失败的错误信息描述。
    error_codeString具体单个请求操作失败的错误信息编码。
  • 响应样例

    正常响应:

    { 
        "response": [
                      {
                        "id": "616fb98f-46ca-475e-917e-2563e5a8cd19"   
                      },
                      {
                        "id": "516fb98f-46ca-475e-917e-2563e5a8cd12"   
                      }
                   ]
    }
    

    异常响应:

    {
         "error": {
                     "code": "Ecs.xxxx",
                     "message": "xxxxxxxxxxxxxxx" 
                   },
         "internalError": [
                     {
                        "id": "616fb98f-46ca-475e-917e-2563e5a8cd19",
                        "error_code": "ECS.XXXX",
                        "error_message": "xxxxxxxxxxxxxxx" 
                      },
                     {
                         "id": "516fb98f-46ca-475e-917e-2563e5a8cd12",
                         "error_code": "ECS.XXXX",
                         "error_message": "xxxxxxxxxxxxxxx" 
                     }
                  ]
    }
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值