News center
资讯中心
资讯中心当前位置:首页>>资讯详情
RESTful 风格的微服务接口
发布:武汉灵犀教育发布时间:2019-06-25
REST 是REpresentational State Transfer的缩写(一般中文翻译为表述性状态转移)。
REST 是一种体系结构,而 HTTP 是一种包含了 REST 架构属性的协议。
为了便于理解,我们把它的首字母拆分成不同的几个部分:
表述性(REpresentational): REST 资源实际上可以用各种形式来进行表述,包括 XML、JSON 甚至 HTML——最适合资源使用者的任意形式;
状态(State): 当使用 REST 的时候,我们更关注资源的状态而不是对资源采取的行为;
转义(Transfer): REST 涉及到转移资源数据,它以某种表述性形式从一个应用转移到另一个应用。
简单地说,REST 就是将资源的状态,以适合客户端或服务端的形式从服务端转移到客户端(或者反过来)。
在 REST 中,资源通过 URL 进行识别和定位,然后通过行为(即 HTTP 方法)来定义 REST 来完成功能。
Web 开发中,method 常用的值是 GET 和 POST,但是实际上,HTTP 方法还有 PATCH、DELETE、PUT 等其他值,
这些方法又通常会匹配为如下的 CRUD 动作:
非幂等的特性(即同一个 URL 可以得到不同的结果)使其成一个非常灵活地方法,对于无法适应其他 HTTP 方法语义的操作,它都能够胜任。
增加一条商品数据通常是这样的:
/addCategory?name=xxx
但是使用了 RESTful 风格之后就会变成:
/category
使用同一个 URL ,通过约定不同的 HTTP 方法来实施不同的业务,这就是 RESTful 风格。
为了有一个更加直观的理解,见下图:
RESTful API 具体设计:
由此可见,RESTful 是一种软件架构风格、设计风格,而不是标准,提供了一组设计原则和约束条件,
基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。