服务端相关 / 03 认识 RESTful

认识 RESTful

上节课我们学习了当下流行的"前后端分离开发模式",从前后端分离的开发模式中引出了 RESTful 的概念,后面的小节我们会正式开始学习 RESTful。但是还记得上节课我们所提到的"接口"的概念吗?在正式开始学习 RESTful 之前,我们先来学习下接口到底是个什么东西:

1. 什么是接口?

接口(软件类接口)是指对协定进行定义的引用类型。其他类型实现接口,以保证它们支持某些操作。接口通常用 API 替代。这个概念不太好理解,接下来,我们用一个例子帮助大家更好地理解什么是接口。

假如在一个学生管理系统中,我们想要查询一个学生的信息,我们输入http://www.demo.com/students/2020,此时我们将获得编号为 2020 的学生信息。我们通过链接与服务器交互,并获取到了想要的数据,那么与服务器交互的这个链接就可以称作是一个接口(API)。

2. 接口的好处

编写 API 有什么好处呢?由于 API 就是把 Web 应用的功能全部封装了,所以,通过 API 操作数据,可以极大地把前端和后端的代码隔离,使得后端代码更易于测试,前端代码编写更加简单。

此外,如果我们把前端页面看作是一种用于展示的客户端,那么 API 就是为客户端提供数据、操作数据的接口。这种设计可以获得极高的扩展性。

例如:我们经常使用的淘宝商城就有很多的客户端,Web, iOS 和 Android 。这些客户端其实都是共用的一套后端代码。但是当我们在 Web 端搜索商品时得到的结果和在 iOS 和 Android 端得到的结果却是一样的。这是因为,我们在不同用户端搜索的时候,访问了后端同一个 API 。这样后端针对前端的同一种需求,只需开发一种接口,就可满足前端不同终端对于该资源的调用,而无需针对不同终端做差异化开发,这便大大降低了开发工作量,节约了开发时间。

3. 什么是 RESTful

对于接口的请求方式与路径,每个后端开发人员可能都有自己的定义方式,风格迥异。是否存在一种统一的定义方式,被广大开发人员接受认可的方式呢?答案是有的,那就是被普遍采用的 API 的 RESTful 设计风格。

所谓的 RESTful,其实就是一套 API 的设计规范。由于这套规范已被开发人员广泛认可,为了不平添与你合作开发的人的烦恼,我们要遵守这些规范。那么 RESTful 到底有哪些规范呢?下一节中,我们将为大家介绍 RESTful 接口的设计方法和编写规范。

4. 小结

本节主要介绍了接口的概念,带领大家了解了使用接口开发的好处,同时介绍了一套开发人员普遍遵从的接口开发规范——RESTful。