修订记录

发布日期 修改说明
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规范,统一为如下格式。后续各接口不再单独列出。

参数名 类型 说明
code string 错误码
message string 错误描述
body string 本次请求的体

示例

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

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

公共错误码

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

错误码

参考各接口错误码。

接口说明

接口简介

依次列出所有接口

类型 子类型 说明

接口调用流程

说明接口使用流程

XXXX

描述

对接口的描述

URI

POST /v1/{id}/user

Path 参数

参数 说明

query 参数

参数 是否必须 描述

请求消息头

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

参数 说明 是否必须 示例

请求参数体

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

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

xxx 字段数据结构说明

参数 类型 描述 是否必选

返回消息头

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

参数 说明 是否必须 示例

返回参数

参数名称 类型 描述
subnets List xxx 子网列表

xxx 字段数据结构说明

参数 是否必选 参数说明 描述

错误码

HTTP 状态码 错误码 错误描述 中文解释 英文解释 建议措施

请求示例

URIHeaderBody

应答示例

StatusHeaderBody

参考

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

任务类接口

  • 正常响应要素说明

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

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

    error 数据结构说明

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

    正常响应:

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

    异常响应:

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

批量接口

  • 正常响应要素说明

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

    response数据结构说明

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

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

    error 数据结构说明

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

    internalError 数据结构说明

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

    正常响应:

    { "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" }]
    }
    

RESTFul API 接口文档模板相关推荐

  1. 整合swagger2生成Restful Api接口文档

    整合swagger2生成Restful Api接口文档 swagger Restful文档生成工具 2017-9-30 官方地址:https://swagger.io/docs/specificati ...

  2. swagger php 生成api,blog/Swagger生成php restful API接口文档.md at master · lfq618/blog · GitHub...

    Swagger生成php restful API接口文档 背景 我们的restful api项目采用yaf框架, 整体结构简单, 我们只需要用swagger扫描 application目录即可. 下面 ...

  3. Swagger 生成 PHP restful API 接口文档

    需求和背景 需求: 为客户端同事写接口文档的各位后端同学,已经在各种场合回忆了使用自动化文档工具前手写文档的血泪史. 我的故事却又不同,因为首先来说,我在公司是 Android 组负责人,属于上述血泪 ...

  4. RESTful API接口文档规范小坑

    希望给你3-5分钟的碎片化学习,可能是坐地铁.等公交,积少成多,水滴石穿,谢谢关注. 前后端分离的开发模式,假如使用的是基于RESTful API的七层通讯协议,在联调的时候,如何避免配合过程中出现问 ...

  5. Swagger 生成 PHP API 接口文档

    Swagger 生成 PHP API 接口文档 标签(空格分隔): php 1.概况 有同学反馈写几十个接口文档需要两天的工作量, 随着多部门之间的协作越来越频繁, 维护成本越来越高, 文档的可维护性 ...

  6. 盘点 8 款好用的 API 接口文档管理工具

    随着互联网的普及和发展,API 接口已经无处不在.它已经在 Web 应用程序.移动应用程序.云计算.物联网.人工智能等领域中得到广泛应用. 例如,在金融行业中,API 接口可以被用于构建支付服务.银行 ...

  7. 芋道 Spring Boot API 接口文档 Swagger 入门

    点击上方"芋道源码",选择"设为星标" 做积极的人,而不是积极废人! 源码精品专栏 原创 | Java 2020 超神之路,很肝~ 中文详细注释的开源项目 RP ...

  8. php怎么根据接口文档实现功能,CodeIgniter+swagger实现 PHP API接口文档自动生成功能...

    一.安装swagger 1.首先需要有composer,没有的自行百度安装 2.下载swagger,打开网站https://packagist.org/packages/zircote/swagger ...

  9. echarts4离线使用文档_适合写API接口文档的管理工具有哪些?

    现在越来越流行前后端分离开发,使用ajax交互.所以api接口文档就变的十分有意义了,目前市场有哪些比较优秀的接口文档管理工具呢? 1.MinDoc 网址:https://www.iminho.me/ ...

  10. 分享一个强大的在线写API接口文档的工具showdoc

    网站地址:https://www.showdoc.cc 第一步:注册 第二步:填写注册信息,这里填写用户名和密码即可,用户名不可重复,注册登录后可以绑定邮箱. 也可以不注册查看示例决定要不要使用这个网 ...

最新文章

  1. centos 6.8 搭建svn服务器
  2. Spring Boot干货系列:(六)静态资源和拦截器处理 | 掘金技术征文
  3. JAVA用JNI方法调用C代码实现HelloWorld
  4. SQL Server 2012入门T-SQL基础篇:(2)SQL的两个基础概念
  5. Java黑皮书课后题第2章:2.18(打印表格)编写程序,显示下面的表格,将浮点数值类型转化为整数
  6. libvirt vnc花屏_centos6.5下VNC花屏解决方法
  7. Mac OS 在远程主机(Linux 系统)上使用命令执行 sql 脚本文件(使用的是 MySQL 数据库)
  8. 读书笔记-你不知道的JS上-混入与原型
  9. Bash中执行存储过程或普通的SQL命令
  10. python获取文件读写权限_Python 查看文件的读写权限方法
  11. android studio break,Android Studio IDE: Break on Exception
  12. 我有一个朋友毕业后一直在腾讯
  13. 击破区块链应用落地之痛,爆款公链太硬核!
  14. 实现Kubernetes跨集群服务应用的高可用
  15. 拓扑排序:编译依赖问题
  16. sast/dast/iast对比介绍
  17. 云刷工具q币android版,交流电app下载2021-交流电交友手机版v3.2.4最新版-游吧乐下载...
  18. 安卓查看内存读写测试软件_办公电脑太慢?试试加条内存就好!内存晒单和内存问题科普...
  19. nbu Linux 邮件告警,Netbackup配置邮件警报
  20. 适合编程初学者的 入门级硬件: micro:bit

热门文章

  1. JAVA美发门店管理系统计算机毕业设计Mybatis+系统+数据库+调试部署
  2. RFID酒店布草洗涤管理系统应用
  3. App Crash 详解
  4. C语言实现九九乘法表
  5. sql2016/2017 卸载安装
  6. 新浪股票接口获取历史数据
  7. php工作流如何实现,工作流设计参考(包括PHP实现)
  8. 四个简单的步骤告别烦人的flash广告
  9. 微信机器人控制linux,微信运维交互机器人的示例代码
  10. 沟通的重要工具——乔哈里视窗