使用 Python 寫一個友好的 API 仍是很重要的

使用 Python 寫一個友好的 API 仍是很重要的

小帥b 學習python的正確姿式 前端

小帥b今天想跟你聊聊 RESTful API 這玩意,以及如何使用 Python 快速建立你的 API 給別人調用。python

你應該常常去調用過 API ,經過必定的規則就能快速使用別人提供的服務,好比你想要使用人臉身份證比對,就有相應的 API 供你使用:程序員

使用 Python 寫一個友好的 API 仍是很重要的

而後你只要調用這個接口就能快速實現:web

使用 Python 寫一個友好的 API 仍是很重要的

返回結果:flask

使用 Python 寫一個友好的 API 仍是很重要的

這樣作的好處就是,咱們在後端只須要提供接口,而後前端無論是手機、PC、微信小程序等,均可以經過這個接口實現具體的功能,這樣的話先後端就能夠作到互不 「干涉」,分離部署均可以。小程序

那麼咱們如何使用 Python 去實現相似這樣的 API 接口,提供服務給別人使用呢?RESTful API 又是個什麼鬼?後端

那麼接下來就是:微信小程序

學習 python 的正確姿式

使用 Python 寫一個友好的 API 仍是很重要的

什麼是 RESTful API?

雖說 API 你能夠本身定製,可是總不能寫成相似這樣的吧:api

使用 Python 寫一個友好的 API 仍是很重要的

每每,先後端程序員的矛盾就此產生...微信

前端:

使用 Python 寫一個友好的 API 仍是很重要的

後端:

使用 Python 寫一個友好的 API 仍是很重要的

因此,寫一個友好的 API 仍是很重要的,而 RESTful API 就是一種流行且友好的風格,它主要用來約束 API 的寫法,讓別人使用起來能感到清晰,簡潔,一目瞭然,使用方便。

像這樣:

咱們定義的 URI 須要清晰易於理解,例如:
https://api.fxxkpython.com/shop/products/list
這樣咱們一眼就能明白這是請求商品數據列表。

儘可能經過 JSON 或者 XML 來傳遞數據對象和屬性。

明確的使用 HTTP 方法(例如,get、post、put和delete)。

無狀態,在請求的時候,服務端不存儲客戶端的上下文狀態。

Python 如何建立 RESTful API?

相信你對 Python 的 web 框架有必定的瞭解:

使用 Python 寫一個友好的 API 仍是很重要的
使用 Python 寫一個友好的 API 仍是很重要的
使用 Python 寫一個友好的 API 仍是很重要的

(來自視頻號:學習python的正確姿式)

而今天要給你介紹的是基於 Flask 框架寫的輕量級額rest API 框架:FlaskRESTful ,它易於使用,寫法和 Flask 相似,你也能夠直接在你項目中的 ORM 層中使用它。

使用 Python 寫一個友好的 API 仍是很重要的

接下來一塊兒看看官方提供的例子,簡單演示一下它的使用。

導入相應的庫,定義類資源,在裏面可使用 http 的 get 、put 方法定義接口,接着經過 api 添加資源便可輕鬆實現一個 API 接口:

使用 Python 寫一個友好的 API 仍是很重要的

運行起來:

使用 Python 寫一個友好的 API 仍是很重要的

訪問:

使用 Python 寫一個友好的 API 仍是很重要的

剛說了,你只要定義好資源類,在裏面能夠寫多個 http 的 get、put、post 等方法,好比這裏你可使用 put 來添加 data 數據到字典中:

使用 Python 寫一個友好的 API 仍是很重要的

在這裏能夠把請求路徑的 todo_id 做爲變量,運行起來後你就能夠往裏相應的 put 數據了:

使用 Python 寫一個友好的 API 仍是很重要的

使用 get 方法獲取:

使用 Python 寫一個友好的 API 仍是很重要的

在 add_resource 中,你能夠定義多個路由指向同一個類資源中去:

使用 Python 寫一個友好的 API 仍是很重要的

訪問:

使用 Python 寫一個友好的 API 仍是很重要的

使用 Python 寫一個友好的 API 仍是很重要的

驗證表單數據類型,可使用 reqparse 定義 type:

使用 Python 寫一個友好的 API 仍是很重要的

這樣當用戶提交的不是 int 類型會直接返回錯誤信息:

使用 Python 寫一個友好的 API 仍是很重要的

當你的 API 想要返回一個對象的時候,可能你須要對對象中的參數定義好類型,可使用 fields 和 marshal_with 進行裝飾,像這樣:

使用 Python 寫一個友好的 API 仍是很重要的

ok,以上就是 FlaskRESTful 的經常使用操做,更多參數信息能夠到如下連接中查看:

https://flask-restful.readthedocs.io/en/latest/

你也能夠試着就咱們上次說的 用 Python 開發一個 【我的計劃 todolist】 用 FlaskRESTful 改寫一下,體會一下區別。

那麼咱們下回見咯,peace!
使用 Python 寫一個友好的 API 仍是很重要的

相關文章
相關標籤/搜索