restful风格

136 阅读2分钟

为什么会有restful

在之前互联网还不那么普及的时候,大部分的请求使用都是通过网页来实现的使用的是mvc模式,那个时候移动端的使用没有那么多,对于api的需求没有那么规范。也就是说当时移动端也没有那么盛行,页面请求和并发量也不高,那时候人们对接口的要求没那么高,一些动态页面(jsp)就能满足绝大多数的使用需求。

但随着发展,人们对web的需求越来越高,传统的动态页面由于低效率而渐渐被HTML+JavaScript(Ajax)的前后端分离所取代。同时移动端的发展也越来越好。由于客户端与服务端需要接口进行通信,所以接口的规范就成了问题,- 所以一套简化开发、结构清晰、符合标准、易于理解、易于扩展让大部分人都能够理解接受的接口风格就显得越来越重要,而RESTful风格的接口(RESTful API)刚好有以上特点,就逐渐应用起来。

定义

REST,全名 Representational State Transfer(表现层状态转移),是一种理念,提供了一组设计原则和约束条件 RESTful是基于REST理念的一套开发规则,是具体的实现。

特点

  • 资源:互联网所有的事务都可以被抽象为资源,例如:.txt .html .jpg .mp3 .mp4等

  • RESTful 架构风格是围绕资源展开的,资源操作都是统一接口的:

    • GET(SELECT):从服务器取出资源(一项或多项)。
    • POST(CREATE):在服务器新建一个资源。
    • PUT(UPDATE):在服务器更新资源(客户端提供完整资源数据)。
    • PATCH(UPDATE):在服务器更新资源(客户端提供需要修改的资源数据)。
    • DELETE(DELETE):从服务器删除资源。
  • URI:每一个URI(统一资源定位符)指向一个特定的资源。通过URI来访问资源。最典型的URI就是URL。@RequestMapping的path/value属性表示的就是URL的一部分。

  • 无状态:

    所有的资源,都可以通过URI定位,而且这个定位与其他资源无关。例如无需登录就可以通过URL查看,就是无状态。需要登录才能查看,是有状态。

    restful的返回结果只有json和xml两种。

image.png