在工作學(xué)習(xí)中,我們經(jīng)常會(huì)需要將自己的開發(fā)成果對(duì)外提供服務(wù),此時(shí)的選擇很多,但是什么才是最高效的呢?
想必聰明的你,已經(jīng)想到了:通過 API 的方式對(duì)外提供服務(wù)。既然我們?cè)趯W(xué)習(xí) Python 過程中,那我們就使用 Python 來實(shí)現(xiàn)自己的 API 吧。
下面將從下面幾個(gè)方面進(jìn)行講解:
- API 簡(jiǎn)介
- RESTful API 簡(jiǎn)介
- 使用Python Flask 實(shí)現(xiàn) RESTful API
API 簡(jiǎn)介
API 是英語 Application Programming Interfaces 的3個(gè)首字母組成的,翻譯成中文即 應(yīng)用程序編程接口。
API 通常是由服務(wù)器(Server)提供(服務(wù)器有各種各樣的類型,一般我們?yōu)g覽網(wǎng)頁用到的是web server,即網(wǎng)絡(luò)服務(wù)器),通過調(diào)用 API,本地計(jì)算機(jī)可以讀取、編輯網(wǎng)站數(shù)據(jù),就像人類可以加載網(wǎng)頁、提交信息等。
通俗地,API可以理解為家用電器的插頭,用戶(本地電腦)只需要將插頭插入插座的,不需要考慮電器內(nèi)部(服務(wù)器)里面是如何運(yùn)作的。通過提供 API, 將內(nèi)部的實(shí)現(xiàn)細(xì)節(jié)封裝了起來,對(duì)本地電腦簡(jiǎn)化的流程,同時(shí)減少了出錯(cuò)的可能。
另外一個(gè)角度上講API是一套協(xié)議,規(guī)定了與外界的溝通方式:如何發(fā)送請(qǐng)求和接受響應(yīng)。只有大家同遵循同樣的方式,就可以很快速的接入我們的服務(wù)。
RESTful API 簡(jiǎn)介
RESTful API 即滿足 RESTful 風(fēng)格設(shè)計(jì)的API,RESTful 表示的是一種互聯(lián)網(wǎng)軟件架構(gòu)(以網(wǎng)絡(luò)為基礎(chǔ)的應(yīng)用軟件的架構(gòu)設(shè)計(jì)),如果一個(gè)架構(gòu)符合 REST (Representational State Transfer的縮寫,翻譯成中文是 "表現(xiàn)層狀態(tài)轉(zhuǎn)化".)原則,就稱它為 RESTful 架構(gòu)。
那什么是 REST 原則呢?Representational State Transfer 這個(gè)詞組到底是什么意思,它的每一個(gè)詞代表了什么涵義。如果你把這個(gè)名稱搞懂了,基本就理解了什么是 REST 設(shè)計(jì)原則。
從下面幾個(gè)角度來分解這個(gè)問題。