01 RESTful 简介
1. 什么是 RESTful ?
REST 全称是 Representational State Transfer,中文意思是表述性状态转移(注:通常译为表征性状态转移)。 它首次出现在 2000 年 Roy Fielding 的博士论文中,Roy Fielding 是 HTTP 规范的主要编写者之一。
Roy Fielding 在论文中提到:“我这篇文章的写作目的,就是想在符合架构原理的前提下,理解和评估以网络为基础的应用软件的架构设计,得到一个功能强、性能好、适宜通信的架构。REST 指的是一组架构约束条件和原则。” 如果一个架构符合 REST 的约束条件和原则,我们就可以称之为 RESTful 架构。
通俗地讲:RESTful 就是客户端与服务器进行数据交互的一种规范,而且是当今绝大多数开发者都在遵循的规范。
应用 RESTful 架构,可以想像成读者去图书馆找书,读者相当于客户端,图书馆相当于服务器。不同种类的书籍,对应不同分类,且有固定的分类缩写。如编号以 T 开头的图书,表示工业技术类图书,编号以 J 开头的图书,表示艺术类图书。不管去哪一个图书馆,这些分类缩写都是相同的,任何一位读者只要知道图书种类,就可在标有相应分类缩写的书架区域找到相应书籍。RESTful 就是 Web 开发行业的规范,符合这种规范,就是一套 RESTful 架构。
2. 为什么学习RESTful?
近年来,随着前后端分离技术的普遍应用,API 接口技术已经成为前后端开发人的必修课之一。在业内,不论使用什么编程语言开发 API,都需要遵守 RESTful 规范。因此,不论你是使用 API 的前端开发人员,还是直接开发 API 接口的后端开发人员,都必须熟悉 RESTful Web 规范,否则将很难同其他人配合。
3. 如何学习RESTful ?
我们通过理论介绍加动手实践的方式完成 RESTful Web 的学习。实践环节,我们选用 Django Rest framework 框架带领读者亲自搭建一套 RESTful 架构的 API。Django Rest framework 是基于 Django 框架开发的用来帮助开发者快速构建 RESTful Web API 的强大而又灵活的工具。在实现 API 的过程中,Django Rest framework 为我们实现了大量的操作,使用该框架仅需书写少量代码,就可实现 API 的构建,大大减少了工作量,可使开发者将更多精力集中在 API 的设计,而非 API 的实现工程。
4. 学习基础
在本课程中,我们在业界流行的 Django Rest framework 框架下,结合小的案例为大家介绍 RESTful Web API开发技术。在开始学习之前,大家需要掌握以下知识:
- 掌握基本的 Python 知识;
- 对 Django 框架有所了解。