RESTful 簡介
1. 什么是 RESTful ?
REST 全稱是 Representational State Transfer,中文意思是表述性狀態(tài)轉(zhuǎn)移(注:通常譯為表征性狀態(tài)轉(zhuǎn)移)。 它首次出現(xiàn)在 2000 年 Roy Fielding 的博士論文中,Roy Fielding 是 HTTP 規(guī)范的主要編寫者之一。
Roy Fielding 在論文中提到:“我這篇文章的寫作目的,就是想在符合架構(gòu)原理的前提下,理解和評(píng)估以網(wǎng)絡(luò)為基礎(chǔ)的應(yīng)用軟件的架構(gòu)設(shè)計(jì),得到一個(gè)功能強(qiáng)、性能好、適宜通信的架構(gòu)。REST 指的是一組架構(gòu)約束條件和原則?!?如果一個(gè)架構(gòu)符合 REST 的約束條件和原則,我們就可以稱之為 RESTful 架構(gòu)。
通俗地講:RESTful 就是客戶端與服務(wù)器進(jìn)行數(shù)據(jù)交互的一種規(guī)范,而且是當(dāng)今絕大多數(shù)開發(fā)者都在遵循的規(guī)范。
應(yīng)用 RESTful 架構(gòu),可以想像成讀者去圖書館找書,讀者相當(dāng)于客戶端,圖書館相當(dāng)于服務(wù)器。不同種類的書籍,對(duì)應(yīng)不同分類,且有固定的分類縮寫。如編號(hào)以 T 開頭的圖書,表示工業(yè)技術(shù)類圖書,編號(hào)以 J 開頭的圖書,表示藝術(shù)類圖書。不管去哪一個(gè)圖書館,這些分類縮寫都是相同的,任何一位讀者只要知道圖書種類,就可在標(biāo)有相應(yīng)分類縮寫的書架區(qū)域找到相應(yīng)書籍。RESTful 就是 Web 開發(fā)行業(yè)的規(guī)范,符合這種規(guī)范,就是一套 RESTful 架構(gòu)。
2. 為什么學(xué)習(xí)RESTful?
近年來,隨著前后端分離技術(shù)的普遍應(yīng)用,API 接口技術(shù)已經(jīng)成為前后端開發(fā)人的必修課之一。在業(yè)內(nèi),不論使用什么編程語言開發(fā) API,都需要遵守 RESTful 規(guī)范。因此,不論你是使用 API 的前端開發(fā)人員,還是直接開發(fā) API 接口的后端開發(fā)人員,都必須熟悉 RESTful Web 規(guī)范,否則將很難同其他人配合。
3. 如何學(xué)習(xí)RESTful ?
我們通過理論介紹加動(dòng)手實(shí)踐的方式完成 RESTful Web 的學(xué)習(xí)。實(shí)踐環(huán)節(jié),我們選用 Django Rest framework 框架帶領(lǐng)讀者親自搭建一套 RESTful 架構(gòu)的 API。Django Rest framework 是基于 Django 框架開發(fā)的用來幫助開發(fā)者快速構(gòu)建 RESTful Web API 的強(qiáng)大而又靈活的工具。在實(shí)現(xiàn) API 的過程中,Django Rest framework 為我們實(shí)現(xiàn)了大量的操作,使用該框架僅需書寫少量代碼,就可實(shí)現(xiàn) API 的構(gòu)建,大大減少了工作量,可使開發(fā)者將更多精力集中在 API 的設(shè)計(jì),而非 API 的實(shí)現(xiàn)工程。
4. 學(xué)習(xí)基礎(chǔ)
在本課程中,我們?cè)跇I(yè)界流行的 Django Rest framework 框架下,結(jié)合小的案例為大家介紹 RESTful Web API開發(fā)技術(shù)。在開始學(xué)習(xí)之前,大家需要掌握以下知識(shí):
- 掌握基本的 Python 知識(shí);
- 對(duì) Django 框架有所了解。