RESTful接口设计风格

> 几句比较简练的话概括 — 来自知乎

  • URL定位资源,用HTTP动词(GET,POST,DELETE,PUT,PATCH)描述操作
  • 看Url就知道要什么
    看http method就知道干什么
    看http status code就知道结果如何
  • 就是用URL定位资源,用HTTP描述操作。

先说为什么需要

前后端分离之后,就出现各种各样的事情,其中最为麻烦的就是接口的冲突,对接一直是
前后端分离的 难点之处
对接由于没有统一规范,在人们慢慢的摸索中先有了经验

  • 先电脑的3层协议是否连通(能否ping通),代表电脑已经在同一网段下,可以相互访问资源
  • 拿到后端暴露的资源路径URL,通常称之为API接口(后端也会写接口文档规范开发)
  • 前端请求接口,获取数据

在这三步中,第二、三步一直难以规范开发。举个例子:

  1. 某司一个团队开发两个项目,第一个项目的注册url为API/addUser,而第二个为API/register,如果开发的项目越来越多,处理起来感觉头大,都可能忘了到底访问那个接口,或者每次前端请求数据,都要查询接口文档,非常的不便。
  2. 如果一个资源路径要获取大于6岁的用户列表,它可能是这样API/getUserLargerNub,那要小于6岁呢? API/getUserSmallNub,取名取者自己都乱了。
  3. 前端做什么资源请求都是直接post,最后感觉怎么做的单调,很不雅,比如获取用户信息,应该是get动作,但是前端用post方式访问了API/getUser Url 。

基于此RESTful诞生了。

RESTful是什么

百度百科

RESTFUL是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义。RESTFUL适用于移动互联网厂商作为业务使能接口的场景,实现第三方OTT调用移动网络资源的功能,动作类型为新增、变更、删除所调用资源。

怎么理解:

  1. RESTful只是一种架构方式的约束,给出一种约定的标准,完全严格遵守RESTful标准并不是很多,也没有必要。但是在实际运用中,有RESTful标准可以参考,是十分有必要的

  2. REST:Representational State Transfer(表象层状态转变),

    • 每一个URI代表一种资源
    • 客户端和服务器之间,传递这种资源的某种表现层
    • 客户端通过HTTP动词,对服务器端资源进行操作,实现”表现层状态转化”

RESTful对什么进行了约束呢?

回到最开始 看Url就知道要什么、看http method就知道干什么、看http status code就知道结果如何

  • 资源路径做出限制
  • http请求方式+资源名称,决定了要访问的资源
  • 返回结果要符合规范(但不限于规范返回结果,实际还是根据贵司的情况做调整)

具体的其实各种说法,大家只要注意这三点,并形成风格,那么你的接口设计就是RESTful风格

RESTful具体约束

CSDN一位: 面试官:你连RESTful都不知道我怎么敢要你?
B乎:怎样用通俗的语言解释REST,以及RESTful?
阮一峰的网络日志: RESTful API 设计指南

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值