除了GET请求的参数直接附加到url尾部之外,其余的参数、返回值均采用JSON格式与UTF8编码,即前端的请求头与后端的返回头中始终包含以下内容
{"Content-Type": "application/json;charset=UTF-8"}
为了前端能够方便地得知后端数据处理结果,后端的所有返回值属性中至少包含一下两种情形之一:
{
"result": true,
//操作成功
"msessage": "",
...
}
或失败时返回如下值
{
"result": false,
//操作失败
"msessage": "错误原因..."
}
-
备注:登陆成功后,请将用户数据保存在session中,后续其他接口就自动以该用户的身份操作(前端不再提供用户名)
-
URL :
/api/users/self
-
方法:
POST
-
参数:
{ "username": "张三", "password": "123456" }
-
返回值
{ "result": true, "msessage": "登录成功" }
-
备注:登出后,会删除在session中的数据
-
URL :
/api/users/logout
-
方法:
GET
-
参数:无
-
返回值
{ "result": true, "msessage": "登出成功" }
如果当前未登录的话
{ "result":false, "msessage": "未登录" }
-
备注:从Session中取出当前登录的用户信息
-
URL :
/api/users/self
-
方法:
GET
-
参数: 无
-
返回值
{ "result": true, "msessage": "", "user": { "userId": 1, "username": "张三" } }
-
备注:不允许用户名重复
-
URL :
/api/users
-
方法:
POST
-
参数:
{ "username": "张三", "password": "123456" }
-
返回值
{ "result": true, "msessage": "注册成功" }
-
URL :
/api/paintings
-
方法:
GET
-
参数: 无
-
返回值
{ "result": true, "msessage": "", "paintings": [ { "paintingId": 1, "name": "著名画作", "houseId":1, "url": "http://path-to-your-painting/" }, { "paintingId": 2, "name": "著名画作1", "houseId":2, "url": "http://path-to-your-painting/" }, ] }
-
URL :
/api/paintings/:paintingId/introduction
-
方法:
GET
-
URL参数:
参数名 描述 paintingId 某图画ID -
参数: 无
-
返回值
{ "result": true, "msessage": "", "introduction": [ {"content": "这是一幅神奇的图画"}, {"content": "这是一幅美丽的图画"} ] }
-
URL :
/api/paintings/:paintingId/comments
-
方法:
GET
-
URL参数:
参数名 描述 paintingId 某图画ID -
参数: 无
-
返回值
{ "result": true, "msessage": "", "comments": [ { "userId": 1, "username": "张三", "content": "这幅画画的真棒!", "transform": { "position": {"x": 0, "y": 0, "z": 0}, "rotation": {"x": 0, "y": 0, "z": 0} } }, { "userId": 2, "username": "李四", "content": "对啊这幅画画的真棒啊!", "transform": { "position": {"x": 0, "y": 0, "z": 0}, "rotation": {"x": 0, "y": 0, "z": 0} } } ] }
-
URL :
/api/paintings/:paintingId/comments
-
方法:
POST
-
URL参数:
参数名 描述 paintingId 某图画ID -
参数:
{ "content": "这幅画画的真棒!", "transform": { "position": {"x": 0, "y": 0, "z": 0}, "rotation": {"x": 0, "y": 0, "z": 0} } }
-
返回值
{ "result": true, "msessage": "发表成功" }
- 备注: 大厅的
paintingId
是-1
- 事件名称:
move
- 数据示例:
{ "paintingId": -1, "position": { "x": 0, "y": 0, "z": 0 }, "rotation": { "x": 0, "y": 0, "z": 0 } }
- 备注: 大厅的
paintingId
是-1
- 事件名称:
barrage
- 数据示例:
{ "paintingId": -1, "content": "这是一条弹幕" }
- 事件名称:
exit
- 数据示例:
{ "paintingId": -1 }
与“由客户端发送相同”,只是加上一个 socketId
字段用以标识用户