博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RESTful接口设计原则和优点
阅读量:5739 次
发布时间:2019-06-18

本文共 1312 字,大约阅读时间需要 4 分钟。

RESTful架构优点:

  1. 前后端分离,减少流量
  2. 安全问题集中在接口上,由于接受json格式,防止了注入型等安全问题
  3. 前端无关化,后端只负责数据处理,前端表现方式可以是任何前端语言(android,ios,html5)
  4. 前端和后端人员更加专注于各自开发,只需接口文档便可完成前后端交互,无需过多相互了解
  5. 服务器性能优化:由于前端是静态页面,通过nginx便可获取,服务器主要压力放在了接口上

RESTful架构设计原则(不同公司具体细节可能不同):

  1. 在接口命名时应该用名词,不应该用动词,因为通过接口操作到是资源。
  2. 在url中加入版本号,利于版本迭代管理更加直观
    https://www.rgc.com/v1/
  3. 对于资源的操作类型应该是通过http动词表示。
    • GET /zoos:列出所有动物园
    • POST /zoos:新建一个动物园
    • GET /zoos/ID:获取某个指定动物园的信息
    • PUT /zoos/ID:更新某个指定动物园的信息(提供该动物园的全部信息)
    • DELETE /zoos/ID:删除某个动物园
    • GET /zoos/ID/animals:列出某个指定动物园的所有动物
    • DELETE /zoos/ID/animals/ID:删除某个指定动物园的指定动物
  4. 排序规则:默认时升序,‘-’为降序;多个排序规则时以逗号间隔组合。使用sort查询参数限制
    GET /tickets?sort=-time,created_at 优先以time倒序显示,其次以created_at正序显示
  5. 限制返回值的字段域:明确指定输出字段列表,用于控制网络带宽和速度。使用fields查询参数来限制。
    GET /tickets?fileds=id,subject,customer_name,time&sort=-time 返回参数列表为id,subject,customer_name,time,并且以time字段倒序显
  6. HTTP Method分别对于资源的CURD操作
    GET(SELECT):从服务器取出资源(一项或多项)。POST(CREATE):在服务器新建一个资源。PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。DELETE(DELETE):从服务器删除资源。

    保证 POST,PUT,DELETE,PATCH,GET 操作。

  7. 使用SSL(Secure Sockets Layer 安全套接层)
  8. 参数和url采用蛇行命名方式。如:updated_time
  9. 服务器请求和返回的数据格式,应该尽量使用JSON,避免使用XML。在 request中的Accept和Response中的Content-Type:application/json

 

总结:优秀的RESTful接口设计,能够根据请求的路径及请求方法就能看出这个接口主要是对具体某个资源进行什么方法的操作以及返回数据的规则等等。

 

参考资料:

转载于:https://www.cnblogs.com/rgcLOVEyaya/p/RGC_LOVE_YAYA_617days.html

你可能感兴趣的文章
dubbo源码分析-架构
查看>>
6套毕业设计PPT模板拯救你的毕业答辩
查看>>
Windows phone 8 学习笔记
查看>>
我的友情链接
查看>>
sshd_config设置参数笔记
查看>>
LeetCode--112--路径总和
查看>>
感悟贴2016-05-13
查看>>
百度编辑器ueditor 光标位置的坐标
查看>>
DEV-C++ 调试方法简明图文教程(转)
查看>>
参加婚礼
查看>>
刚毕业从事java开发需要掌握的技术
查看>>
vim
查看>>
Java重写equals方法和hashCode方法
查看>>
Spark API编程动手实战-07-join操作深入实战
查看>>
EasyUI基础入门之Easyloader(载入器)
查看>>
java中ArrayList 、LinkList区别
查看>>
Spring ’14 Wave Update: Installing Dynamics CRM on Tablets for Windows 8.1
查看>>
利用rand7()构造rand10()
查看>>
MySQL 备份与恢复
查看>>
吃午饭前,按书上的代码写会儿--Hunt the Wumpus第一个版本
查看>>