一、什麼是RESTful
最近需要開發一個使用RESTful架構的後臺api程式,什麼叫RESTful呢,REST的全稱是representational state transfer表徵狀態轉移,但其實這個全稱也不夠完整,它還缺少了主語,什麼的表徵狀態轉移呢,資源(resources)的;
資源(resources):
所謂的資源就是網路上的一個實體,它可以使一個圖片,一個文字,一個服務,你可以用一個URI指向它,每種資源對應一個特定的URI,要獲取這個資源訪問它的URI就行了,所謂的上網,其實就是與網路上的資源進行一系列的互動就是了;
表徵(representation):
怎麼把資源表現出來就是表徵的意義,比如一段文字是txt、html還是json,圖片是jpg還是png,以http協議為例,就是Accept和content-type中的內容,說明了資源的型別;
狀態轉移(state tranfer):
訪問一個網站,就是客戶端和服務端的一個互動過程,客戶端想要操作服務端,就必須通過某種手段讓服務端的狀態發生變化,具體到http協議中就是http的幾種方法:GET用來獲取資源,POST用來新建資源,PUT用來更新資源,DELETE用來刪除資源;
綜上所述,什麼是RESTful呢?
1、使用URI來表示每一個資源;
2、為每一個資源確定它的表現形式;
3、使用4個方法來操作這些資源;
這樣的一個架構就是所謂的RESTful了,看上去非常簡單,但是結構確非常清晰,擴充套件也很方便,非常符合網際網路開發的特性。
二、flask
flask是一個使用python編寫輕量級的web應用框架,它非常的簡單,但是通過非常豐富的extension能夠擴充套件出很複雜的功能,選用它的理由也很簡單,一方面是我用過而且flask確實很容易上手,另一方面是在以往的經驗中它的表現非常好。
瞭解了需求和確定了具體的實現工具後,接下來就是把架子給搭起來再慢慢豐富它的內容了,後面的章節裡在一一介紹。