构造请求
更新时间:2021-12-29
本篇文档介绍了百度智能云REST API请求的构造方法,文档中介绍的信息均可以从API3.0的接口文档中获取。您也可以通过视频指南来进一步了解如何构造一个API请求。
请求URI
请求URI的结构如下:
{协议}://{访问域名}/{请求path}?{请求query}
参数 | 说明 | 举例 |
---|---|---|
协议 | 用于传输请求的协议类型。支持HTTP、HTTPS两种协议,推荐使用HTTPS | HTTPS |
访问域名 | 指提供云产品API服务的域名或IP,不同产品的Endpoint有所不同。请参考BOS访问域名 | bj.bcebos.com |
请求path | API访问路径,一般用于指向资源所在路径。 | v2/instance |
请求query | 查询参数,跟在?后面。并非每个接口都有请求query,需要根据接口文档判断。 | reboot |
举例来说,如果您想调用云服务器BCC的重启实例接口,则请求URI为:
在具体的接口文档中,由于协议和访问域名相对固定,出于简洁起见将这二者省略,并将接口的请求方法放在请求path之前,如下所示:
请求消息头
请求消息头中承载一些公共的配置信息,例如消息体的数据类型、发起调用的时间、鉴权信息等。所有接口都可以使用的请求消息头被称为公共请求消息头,列表如下。
名字 | 类型 | 描述 | 是否必选 |
---|---|---|---|
Authorization | String | 用于验证请求合法性的认证信息。更多参见鉴权认证 | 是 |
Content-Length | String | RFC2616中定义的HTTP请求内容的长度 | 否 |
Content-Type | String | RFC2616中定义的HTTP请求内容的类型,通常情况下为application/json; charset=utf-8 | 否 |
Content-MD5 | String | RFC2616定义的HTTP请求内容的MD5摘要,可以通过携带该字段来验证保存在BOS侧的文件和用户预期的文件是否一致。 | 否 |
Date | String | HTTP 1.1协议中规定的GMT时间,如Wed, 06 Apr 2016 06:34:40 GMT |
否 |
Host | String | 访问Host值,取值为BucketName.bj.baidubce.com |
是 |
x-bce-date | String | 当前时间,遵循ISO8601规范,格式如2016-04-06T08:23:49Z |
否 |
如果某接口有自己专属的请求消息头,会在接口文档中写明。
请求消息体
请求消息体中的数据结构由请求消息头中的Content-Type定义,在绝大多数情况下要求为json格式。
每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口一般来说不需要消息体,消息体具体内容需要您参阅接口文档。
在接口文档中,请求体字段数据结构说明是请求消息体的json最外一层的字段信息,如果该接口没有请求消息体,则该部分内容为空。
如果请求消息体json内含有嵌套的数据结构,会在请求体字段数据结构说明的表格下面用某某字段数据结构说明进行展示。