API设计:用户资源

  • 获取资源列表

List all videos: URL:/user/:username/videos Method:GET,SC:200,400,500
  • 获取一个资源

Get one video: URL:/user/:username/videos/:vid-id Method:GET,SC:200,400,500
  • 删除一个资源

Delete one video: URL:/user/:username/videos/:vid-id Method:DELETE,SC:204,400,401,403,500

API设计:评论

  • 展示评论

Show comments: URL:/videos/:vid-id/comments Method:GET,SC:200,400,500
  • 创建一个评论

Post a comment: URL:/videos/:vid-id/comments Method:POST,SC:201,400,500
  • 删除一个评论

Delete a comment: URL:/videos/:vid-id/comment/:comment-id Method:DELETE,SC:204,400,401,403,500           //只有poster可以删

API模块设计

用户(user/:username)、资源(user/:username/videos/:vid-id)、评论(/videos/:vid-id/comments/:comment-id)互相有从属关系

在很多Web APP上都是REST-ful风格API。

三个遵守:

  1. 资源用URL来定位
  2. 不同的操作用不同的Method来表示

  3. 返回码严格按照HTTP协议所定义的返回码