【全栈修炼】422- RESTful 架构及实践 修炼宝典

【全栈修炼】422- RESTful 架构及实践 修炼宝典

点击上方“前端自习课”关注,学习起来~

【全栈修炼】422- RESTful 架构及实践 修炼宝典

其他修炼宝典:

  • 【全栈修炼】396- OAuth2 修炼宝典

  • 【全栈修炼】414- CORS和CSRF修炼宝典

一、概念介绍

1. REST 概念

REST:(Representational State Transfer)即 表现层状态转换 ,定义了 资源 的通用访问格式,是一种网络应用程序的 设计风格开发方式

在概念中,需要理解以下几个名称:

  1. 资源(Resource)

服务器上获取到的东西任何资源 ,一条用户记录,一个用户的密码,一张图片等等都是。

  1. 资源的表述(Representation)

资源格式 ,是 HTMLXML、JSON、纯文本、图片等等,可以用各种各样的格式来表述你获取到的资源。

  1. 状态转移(State Transfer)

URL定位资源 ,用 HTTP 动词(GET,POST,DELETE,DETC)描述操作。操作是动词,资源是名词。

  1. 统一接口(Uniform Interface)

即通过统一的接口对资源进行操作。

2. REST 特点

REST 通常基于使用 HTTP ,  URI ,和  XML 以及  HTML 这些现有的广泛流行的协议和标准,每一种 URI 代表一种资源。

REST 通常使用 JSON 数据格式。

REST 基本架构的四个方法:

  • GET- 用于 获取数据

  • PUT- 用于 更新或添加数据

  • DELETE- 用于 删除数据

  • POST- 用于 添加数据

下面会通过一个场景介绍。

3. REST 优点

  • 可更高效利用缓存来提高响应速度

  • 通讯本身的无状态性可以让不同的服务器的处理一系列请求中的不同请求,提高服务器的扩展性

  • 浏览器即可作为客户端,简化软件需求

  • 相对于其他叠加在HTTP协议之上的机制,REST的软件依赖性更小

  • 不需要额外的资源发现机制

  • 在软件技术演进中的长期的兼容性更好

二、实例介绍

REST 定义了资源的通用访问格式,接下来一个消费者为实例,介绍 RESTful API 定义:

  1. 获取所有 user

  1. 获取指定 id 的 user

  1. 新建一条 user 记录

  1. 更新一条 user 记录

  1. 删除一条 user 记录

  1. 获取一个 user 的所有消费账单

  1. 获取一个 user 指定时间的消费账单

以上其中 RESTful 风格 API 几乎包含常见业务情况。

三、Nodejs 实现 RESTful API

1. 初始化 mock 数据

本案例使用 mock 数据来演示,如下:

我们将实现以下 RESTful API :

【全栈修炼】422- RESTful 架构及实践 修炼宝典

2. 获取用户列表

这一步我们会创建 RESTful API 中的 listUsers ,用来 读取用户的信息列表

3. 添加用户

这一步我们会创建 RESTful API 中的 addUser ,用来 添加用户记录

4. 获取用户详情

这一步我们在 RESTful API 中的 URI 后面加上 :id ,用来 获取指定用户详情

5. 删除指定用户

这一步我们会创建 RESTful API 中的 deleteUser ,用来 删除指定用户

参考资料

  1. 《维基百科 – 表现层状态转换》

  2. 《RESTful风格的springMVC》

  3. Node.js RESTful API》

原文 

http://mp.weixin.qq.com/s?__biz=MjM5MDc4MzgxNA==&mid=2458453763&idx=1&sn=8ecfc007bec177afb1800b42a271631a

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » 【全栈修炼】422- RESTful 架构及实践 修炼宝典

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址