[编程理解] RESTful风格接口的理解

RESTful风格接口并不适合所有情况

有时候,RESTful风格接口的确简化了资源定位以及资源CRUD的问题,但是当我们想做一些特殊操作时 ,该风格显然不适合。

RESTful风格接口组成

  • 请求方法(GET.POST,PUT,DELETE等)
  • 请求路径 http://ip:port/伪资源目录/资源ID

问题

  1. 比如,我们在添加数据时,想对数据的某些特征值做唯一性判断,这时,想创建一个RESTful风格的接口就发现很不适合
    • 首先需要验证的数据没有资源ID,就无法定位服务器资源
    • 该行为显然是一种验证操作,RESTful风格没有相应的具体的请求方法
    • 若请求方法为POST,如果伪资源目录后加入操作名,那就和资源ID冲突,感觉很不RESTful
  2. 当我们做多资源操作时,全拼在伪资源目录后面,要操作资源过多时,会造成url过长的问题,这种时候,把多个资源id放在body里面更为合适

解决方案

自定义接口标准

  • 请求方法(GET,POST
  • 请求路径http://ip:port/伪资源目录/操作/资源ID/资源属性

梨子

  • 域名:www.baidu.com
  • 伪资源目录:user
  • 操作:
    • 分页查询列表:list
    • 添加:add
    • 删除:delete,remove
    • 修改:update,edit
    • 查询详情:detail
    • 删除多个:remove-multiple,delete-multiple
    • 检查唯一性:check-unique
  • 资源ID:
    • 用户名:liuqi
  • 资源属性:
    • 用户名:username
    • 密码:password
    • 邮件地址:email
    • 电话:phone

例如

  • 获取用户信息详情:GET + http://www.baidu.com/user/detail/liuqi
  • 检查用户名唯一:POST + http://www.baidu.com/user/check-unique
  • 只修改邮件地址:POST + http://www.baidu.com/user/update/liuqi/email
  • 删除多个用户:POST + http://www.baidu.com/user/update/liuqi/email

缺点

  • 请求路径比RESTful风格的要长
  • 只使用了GET,POST方法

初次学习,多有不足,若有错误或者疑问,还请多多指教

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 笔记 RESTful架构风格概述 RESTful架构风格 RESTful架构风格最初由Roy T. Fieldin...
    plutoese阅读 12,759评论 3 58
  • 一、什么是API? API(Application Programming Interface,应用程序编程接口)...
    Fairy_妍阅读 62,928评论 2 42
  • width: 65%;border: 1px solid #ddd;outline: 1300px solid #...
    邵胜奥阅读 4,894评论 0 1
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,144评论 1 32
  • 一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式。”但是在要求详细讲述它所提出的各个约束,以及如...
    时待吾阅读 3,476评论 0 19