“Xproject api设计”的版本间的差异
来自Dennis的知识库
Dennis zhuang(讨论 | 贡献) (→规范) |
Dennis zhuang(讨论 | 贡献) |
||
第2行: | 第2行: | ||
* 协议格式:使用json序列化 | * 协议格式:使用json序列化 | ||
+ | * 请求:get请求遵循RESTFul风格,post请求发送json对象。 | ||
+ | * 应答:统一为: | ||
+ | { code : 状态码 , result: 应答对象(根据API不同,结果不同) , error:错误信息(可选)} | ||
+ | *应答状态码: | ||
+ | ** 0 成功 | ||
+ | ** 1 没有授权 | ||
+ | ** 2 服务异常,需重试,一般是服务器内异常引起。 | ||
+ | ** 3 失败, 逻辑上的操作失败,比如登录失败,具体错误信息见error | ||
+ | ** 其他待定 | ||
* 基础对象: | * 基础对象: | ||
** User | ** User | ||
+ | *** user_id | ||
*** display_name | *** display_name | ||
*** username | *** username | ||
第11行: | 第21行: | ||
*** profile_picture 照片 | *** profile_picture 照片 | ||
** Media | ** Media | ||
+ | *** media_id | ||
*** path 下载路径 | *** path 下载路径 | ||
*** description 描述文字 | *** description 描述文字 | ||
第17行: | 第28行: | ||
*** created 创建时间 | *** created 创建时间 | ||
+ | == 用户管理 == | ||
+ | * GET /users/{user-id} 获取用户信息,返回User对象 | ||
+ | * GET /users/{user-id}/media/recent 获取用户关注的用户最近的media list(发布时间排序),可以不断下拉,接收start,limit参数分页。 | ||
+ | * GET /users/self/media/liked 获取自己liked的media list | ||
+ | * GET /users/self/medias 获取自己发布的media列表,同样分页 | ||
+ | * GET /users/search 查询用户,接受username参数做模糊查询,返回User list。 | ||
+ | == 用户关系 == | ||
+ | * GET /users/{user-id}/followings 获取该用户关注中的用户列表 user list,可分页 | ||
+ | * GET /users/{user-id}/followed-by 获取该用户被谁关注的用户列表,可分页 | ||
+ | * GET /users/{user-id}/relationship 同时获取关注中和被关注的用户列表,应答对象为{ followings : 关注中的对象列表 , followers : 关注该用户的对象列表 } | ||
+ | * POST /users/{user-id}/relationship 关注某些用户,请求为 | ||
+ | { follow : target_user_id_list } | ||
− | + | == Media管理 == | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | * GET /medias/{id} 获取某个media_id的media对象 | |
− | + | * GET /medias/search 查询media,根据description和owner来查询 | |
− | + | * GET /medias/popular 获取最热media列表,可设置limit | |
− | + | * POST /medias 上传media,owner为当前session的user,上传采用http post,类似上传文件。返回结果为media对象。 | |
+ | * DELETE /media/{id} 删除某个media,服务端会检查该media是否为当前session的user所有。 | ||
− | == | + | == 评论 == |
− | * GET / | + | * GET /media/{media-id}/comments 获取某个media的评论列表 |
− | + | * POST /media/{media-id}/comments 为某个media评论,评论者为当前session的user,post内容为comment对象 | |
− | * | + | * DELETE /media/{media-id}/comments/{comment-id} 删除某个media的评论,评论者为当前session的user |
− | * | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | == 喜欢 == | |
− | + | * GET /media/{media-id}/likes 获取某个media的喜欢的用户列表 user list | |
− | + | * POST /media/{media-id}/likes 喜欢某个media | |
− | + | * DELETE /media/{media-id}/likes 取消喜欢某个media | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + |
2012年12月8日 (六) 16:18的版本
目录 |
规范
- 协议格式:使用json序列化
- 请求:get请求遵循RESTFul风格,post请求发送json对象。
- 应答:统一为:
{ code : 状态码 , result: 应答对象(根据API不同,结果不同) , error:错误信息(可选)}
- 应答状态码:
- 0 成功
- 1 没有授权
- 2 服务异常,需重试,一般是服务器内异常引起。
- 3 失败, 逻辑上的操作失败,比如登录失败,具体错误信息见error
- 其他待定
- 基础对象:
- User
- user_id
- display_name
- username
- medias 音频数
- followers 关注者数目
- followings 关注中的用户数
- profile_picture 照片
- Media
- media_id
- path 下载路径
- description 描述文字
- checksum 校验和
- owner 拥有者
- created 创建时间
- User
用户管理
- GET /users/{user-id} 获取用户信息,返回User对象
- GET /users/{user-id}/media/recent 获取用户关注的用户最近的media list(发布时间排序),可以不断下拉,接收start,limit参数分页。
- GET /users/self/media/liked 获取自己liked的media list
- GET /users/self/medias 获取自己发布的media列表,同样分页
- GET /users/search 查询用户,接受username参数做模糊查询,返回User list。
用户关系
- GET /users/{user-id}/followings 获取该用户关注中的用户列表 user list,可分页
- GET /users/{user-id}/followed-by 获取该用户被谁关注的用户列表,可分页
- GET /users/{user-id}/relationship 同时获取关注中和被关注的用户列表,应答对象为{ followings : 关注中的对象列表 , followers : 关注该用户的对象列表 }
- POST /users/{user-id}/relationship 关注某些用户,请求为
{ follow : target_user_id_list }
Media管理
- GET /medias/{id} 获取某个media_id的media对象
- GET /medias/search 查询media,根据description和owner来查询
- GET /medias/popular 获取最热media列表,可设置limit
- POST /medias 上传media,owner为当前session的user,上传采用http post,类似上传文件。返回结果为media对象。
- DELETE /media/{id} 删除某个media,服务端会检查该media是否为当前session的user所有。
评论
- GET /media/{media-id}/comments 获取某个media的评论列表
- POST /media/{media-id}/comments 为某个media评论,评论者为当前session的user,post内容为comment对象
- DELETE /media/{media-id}/comments/{comment-id} 删除某个media的评论,评论者为当前session的user
喜欢
- GET /media/{media-id}/likes 获取某个media的喜欢的用户列表 user list
- POST /media/{media-id}/likes 喜欢某个media
- DELETE /media/{media-id}/likes 取消喜欢某个media