美文网首页
五、REST API

五、REST API

作者: mjwz5294 | 来源:发表于2018-02-24 17:14 被阅读0次

    参考:

    https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/0014735944539193ab2edd2740f44a79efb438a05e83727000

    一、web API

    1、如果一个URL返回的不是HTML,而是机器能直接解析的数据,这个URL就可以看成是一个Web API

    2、以JSON格式编写的REST风格的API具有简单、易读、易用的特点。

    3、通过API操作数据,可以极大地把前端和后端的代码隔离,使得后端代码易于测试,前端代码编写更简单。

    4、如果我们把前端页面看作是一种用于展示的客户端,那么API就是为客户端提供数据、操作数据的接口。这种设计可以获得极高的扩展性。例如,当用户需要在手机上购买商品时,只需要开发针对iOS和Android的两个客户端,通过客户端访问API,就可以完成通过浏览器页面提供的功能,而后端代码基本无需改动。

    二、REST API 规范:

    1、编写REST API,实际上就是编写处理HTTP请求的async函数,不过,REST请求和普通的HTTP请求有几个特殊的地方:

    (1)REST请求仍然是标准的HTTP请求,但是,除了GET请求外,POST、PUT等请求的body是JSON数据格式,请求的Content-Type为application/json;

    (2)REST响应返回的结果是JSON数据格式,因此,响应的Content-Type也是application/json。

    (3)URL需要容易理解

    2、其实,使用REST和使用MVC是类似的,不同的是,提供REST的Controller处理函数最后不调用render()去渲染模板,而是把结果直接用JSON序列化返回给客户端。而MVC需要渲染模版,然后返回html给客户端。

    3、使用REST虽然非常简单,但是,设计一套合理的REST框架却需要仔细考虑很多问题。

    (1)在实际工程中,一个Web应用既有REST,还有MVC,可能还需要集成其他第三方系统。如何组织URL呢?对于较小的工程,一般就是通过固定的前缀区分。

    (2)如何规范REST返回的数据?类似MVC中的分层方式,我们也可以添加一个中间层,把公共部分功能集中。

    (3)错误处理:这是很常见的问题了。重点就是要客户端能够理解区分,所以错误码的设计和错误信息的返回格式都非常重要。

    相关文章

      网友评论

          本文标题:五、REST API

          本文链接:https://www.haomeiwen.com/subject/okccxftx.html