国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Python > 正文

Python中Flask-RESTful編寫API接口(小白入門)

2024-09-09 19:03:12
字體:
來源:轉載
供稿:網友

1.API接口:hello world 案例

from flask import Flaskfrom flask_restful import Api, Resourceapp = Flask(__name__)api = Api(app)class HelloWorld(Resource): def get(self):  return {'hello': 'world'}api.add_resource(HelloWorld, '/')if __name__ == '__main__': app.run(debug=True)

這里寫圖片描述

2.API接口:Resource充當路由的角色

官方文檔的說法:
Flask-RESTful 提供的最主要的基礎就是資源(resources)。資源(Resources)是構建在 Flask 可拔插視圖 之上,只要在你的資源(resource)上定義方法就能夠容易地訪問多個 HTTP 方法.

其實就是想表達,在資源路由上(resources)定義多個方法(get,post,put等),就可以實現多種效果

from flask import Flask, requestfrom flask_restful import Api, Resourceapp = Flask(__name__)api = Api(app)todos = {}class TodoSimple(Resource): def get(self, todo_id):  return {todo_id: todos[todo_id]} def put(self, todo_id):  todos[todo_id] = request.form['data']  return {todo_id: todos[todo_id]}api.add_resource(TodoSimple, '/<string:todo_id>')if __name__ == '__main__': app.run(debug=True)

解釋:
(1)TodoSimple類定義了2種方法,最終地址/string:todo_id'下面,就可以實現2種請求方法
(2)add_resource方法中第一個參數:視圖函數名;第二個參數:路由的具體地址,以及string:todo_id代表傳遞的是一個字符串,且是必要參數。
(3)request.form[‘data']獲取request里面,form表單的key為data的參數,如果request里面,沒有data參數,那報錯。如果有包含data的多個參數,那也只會取data這一個參數

step1:為字典todos定義參數,key為todo1

這里寫圖片描述

step2:獲取todos里面的todo1的參數

這里寫圖片描述

step3:更新老的數據,多傳遞其他參數

這里寫圖片描述

step4:獲取最新的參數:

這里寫圖片描述

step5:不傳遞data參數,查看報錯情況:

這里寫圖片描述

3.API接口:endpoint(端口)的理解:

這個問題詳情可以參考如下博文,已經解釋很詳細了:
https://www.jb51.net/article/176173.htm

簡單理解是:
url通過endpoint來去查找視圖函數(通常endpoint的名字與視圖函數名一致),但是如果不一致的時候,就需要有針對性的指定某個視圖函數去執行,也或者多個藍圖里面有一樣的視圖函數的場景下,需要指定具體的endpoint

4.API接口:參數解析

官方文檔:
(1)盡管 Flask 能夠簡單地訪問請求數據(比如查詢字符串或者 POST 表單編碼的數據),驗證表單數據仍然很痛苦。Flask-RESTful 內置了支持驗證請求數據,它使用了一個類似 argparse 的庫。
(2)需要注意地是與 argparse 模塊不同,reqparse.RequestParser.parse_args() 返回一個 Python 字典而不是一個自定義的數據結構。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 共和县| 四川省| 明光市| 克东县| 新乐市| 大田县| 巴里| 会宁县| 闸北区| 武乡县| 乐亭县| 泽库县| 蕲春县| 大竹县| 吉首市| 英山县| 忻城县| 宁化县| 辰溪县| 九龙坡区| 甘孜| 教育| 杭锦后旗| 宝应县| 顺昌县| 洪泽县| 宜兴市| 肇州县| 苍山县| 铜梁县| 通山县| 克东县| 策勒县| 五家渠市| 阿克陶县| 依安县| 漠河县| 芜湖县| 昌邑市| 梓潼县| 乌鲁木齐县|