简化版RESTful API设计规范

URL规范

  • URL中不能有动词
  • URL结尾不应该包含斜杠“/”
  • 正斜杠分隔符”/“必须用来指示层级关系
  • 应该使用连字符”-“来提高URL的可读性,而不是使用下划线”_”
  • URL路径中首选小写字母
  • URL路径名词均为复数
  • 避免多级URL

CURD操作规范

  • GET: 获取资源
  • POST: 新建资源
  • PUT:更新资源
  • DELETE:删除资源

返回结果规范

  • GET /collections 返回资源列表
  • GET /collections?id=xxx 返回单独的资源
  • POST /collections 返回添加或更新的资源对象
  • PUT /collections?id=xxx 返回完整的资源对象
  • DELETE /collections?id=xxx 返回一个空文档

1xx:相关信息
2xx:操作成功
3xx:重定向
4xx:客户端错误
5xx:服务器错误

客户端如不支持,需增加X-HTTP-Method-Override定义

RFC 3986定义的URI语法:

URI = scheme “://” authority “/” path [ “?” query ][ “#” fragment ]

  • scheme: 指底层用的协议,如http、https、ftp
  • host: 服务器的IP地址或者域名
  • port: 端口,http中默认80
  • path: 访问资源的路径,就是各种web框架中定义的route路由
  • query: 为发送给服务器的参数
  • fragment: 锚点,定位到页面的资源,锚点为资源id

参考: https://zhuanlan.zhihu.com/p/68103094

你可能感兴趣的:(简化版RESTful API设计规范)