#RestAPI 类库说明

以下的类库说明文档采用类似/1/classes/GameScore这样的相对路径表示,其中1表示RestAPI的版本号。{className}表示对象(对应数据表)名称,{objectId}表示某条记录的objectId信息,{userName}表示终端用户的用户名,{passWord}表示终端用户的密码,{fileName}表示文件名,{fileSize}表示文件大小。

HTTP请求信息

请求路径

RestAPI的所有请求都发送到 https://api.bmob.cn/1 路径下,其中1是RestAPI的版本号。这个版本号在未来的计划中基本不会发生任何变化。

HTTP头信息

  • RestAPI的HTTP头信息必须包含X-Bmob-Application-Id和X-Bmob-REST-API-Key头信息。X-Bmob-Application-Id头表示正在访问的是哪个App程序,X-Bmob-REST-API-Key头表示APP的授权信息。

  • 对于POST和PUT请求,HTTP头信息必须包含Content-Type信息,一般值为application/json,除文件API接口除外。

  • 对于用户API接口,如果想要更新用户信息或者删除用户的话,还需要包含X-Bmob-Session-Token头信息。

请求内容体和回应信息

请求内容体(即HTTP包的Body信息)必须封装为JSON格式,请求回应信息也是JSON格式的数据。

字符串、数字、布尔值、数组数据类型为普通类型,地理位置、时间、指针、对象为特殊类型,请求时的格式封装如下:

{"__type": "GeoPoint", "latitude": 30.0, "longitude": -20.0}

{"__type":"Date","iso":"2012-01-29 11:33:53"}

{"__type": "Pointer", "className": "Game", "objectId": "*****"}

{"__type": "Object", "className": "Post","otherFields": "*****"}

回应信息需要注意一点的是,为了节省流量,objectId、createAt和updateAt系统内部字段在回应的JSON格式中为String类型,开发时需要自行进行处理。

数据操作




































URL路径 HTTP方式 描述
/1/classes/{className} POST 添加数据
/1/classes/{className}/{objectId} GET 查询单条数据
/1/classes/{className} GET 查询多条数据
/1/classes/{className}/{objectId} PUT 修改数据
/1/classes/{className}/{objectId} DELETE 删除数据,删除字段

用户操作



















































URL HTTP请求方式 描述
/1/users POST 用户注册
/1/login?username={userName}&password={passWord} GET 用户登录
/1/users/{objectId} GET 获取当前登录用户信息
/1/users GET 查询全部用户信息
/1/users/{objectId} PUT 更新用户信息
/1/users/{objectId} DELETE 删除用户
/1/requestPasswordReset POST 重置用户密码
/1/requestEmailVerify POST 发送邮箱验证信息

文件操作


























URL HTTP请求方式 描述
/1/files/{fileName} POST 上传整个文件,其中文件名{fileName}需要进行BASE64加密
/1/mkfile/{fileName}/{fileSize} POST 分片上传文件,其中文件名{fileName}需要进行BASE64加密,{fileSize}为文件大小(单位Byte)
/1/files/{group}/{fileUrl} GET 删除文件,其中{group}为文件的组名,{fileUrl}是文件的相对URL

图片服务





















URL HTTP请求方式 描述
/1/images/thumbnail POST 创建缩略图
/1/images/watermark POST 创建水印图片

角色操作































URL HTTP请求方式 描述
/1/roles POST 创建角色
/1/roles/{objectId} GET 获取角色信息
/1/roles/{objectId} PUT 更新或者删除子角色信息
/1/roles/{objectId} DELETE 删除角色信息

安装数据































URL HTTP请求方式 描述
/1/installations POST 创建安装数据
/1/installations/{objectId} GET 获取安装数据
/1/installations/{objectId} PUT 更新安装数据
/1/installations/{objectId} DELETE 删除安装数据

消息推送
















URL HTTP请求方式 描述
/1/push POST 推送消息(广播、组播、多播和点播)

云端代码
















URL HTTP请求方式 描述
1/functions/{cloudName} POST 执行名称为cloudName的云端代码