HATEOAS简介

  • Post author:
  • Post category:其他


之前

restful理解_数据库_黄腾霄的博客-CSDN博客

和大家介绍了对RESTful的理解。今天和大家介绍下RESTful中最重要的一个概念HATEOAS。




什么是HATEOAS

HATEOAS是

Hypermedia as the Engine of Application State

的缩写。

翻译过来就是

超媒体即应用状态引擎

那这个是什么样的一个东西呢?

我们先来看一个现实中的问题。



问题来源

我们在项目开发中经常需要涉及同后端对接API。

对接的过程一般都是后端的同学给出一个文档,告诉我们有哪些API,可以获得什么样子的参数。

试想一下,如果有一天后端同学新增加了API,但是没有给这个API文档,那你该怎么办?

所以说API文档,成为了前后端对接的耦合因素。



HATEOAS解决什么问题

HATEOAS通过超媒体来提供客户端与服务器之间的交互。

即客户端可以通过一个简单的初始URI,并从返回值获取可以操作的其他信息。

这样一来,我们对接后端时,就几乎不需要额外的信息。

可以进一步实现前后端的解耦。



Richardson Maturity Model

中,HATEOAS为于最高层,可以显著提升RESTful API的可发现性和响应的自解释性。



HATEOAS例子

说了这么多大家可能还不是很了解,这里我们举个例子。

假设我们有这么一个API,可以返回一个人和他孩子的名字。

GET /people/huangtengxiao

<person>
    <name>huangtengxiao</name>
    <children>
        <name>xiaohuang</name>
    </children>
</person>

那按照RESTfulAPI的方式,我们可以通过POST方法给他添加孩子

POST /people/huangtengxiao/children/xiaoxiaohuang
GET /people/huangtengxiao



版权声明:本文为htxhtx123原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。