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

首頁 > 編程 > Python > 正文

flask-restful使用總結

2020-01-04 13:55:57
字體:
來源:轉載
供稿:網友

Flask-RESTful是一個用于快速創建RESTful API接口的Flask擴展。使用Flask-RESTful可以很快速方便地創建一個RESTful風格的接口應用程序。

1、安裝

pip install flask_restful

2、全部代碼

from flask import Flaskfrom flask_restful import reqparse, abort, Api, Resourceapp = Flask(__name__)api = Api(app)TODOS = {  'todo1': {'task': 'build'},  'todo2': {'task': 'bui2'},  'todo3': {'task': 'bui3'}}parser = reqparse.RequestParser()parser.add_argument('task')class Todo(Resource):  def get(self, todo_id):    return TODOS[todo_id]  def delete(self, todo_id):    del TODOS[todo_id]    return '', 204  def put(self, todo_id):    args = parser.parse_args()    task = {'task': args['task']}    TODOS[todo_id] = task    return task, 201class TodoList(Resource):  def get(self):    return TODOSapi.add_resource(TodoList, '/todos')api.add_resource(Todo, '/todos/<todo_id>')if __name__ == '__main__':  app.run(debug=True)

3、代碼說明

1). 初始化

在當前程序初始化一個flask-restful的api實例:

api = Api(app)

2). 定義資源類

資源類是restful接口的具體實現,需要繼承Resource類。在類中可以定義get、post等符合restful規范的接口。

class Todo(Resource):  def get(self, todo_id):    return TODOS[todo_id]  def delete(self, todo_id):    del TODOS[todo_id]    return '', 204  def put(self, todo_id):    args = parser.parse_args()    task = {'task': args['task']}    TODOS[todo_id] = task    return task, 201

3). 參數解析

雖然 Flask 提供了簡單的方法訪問請求數據, 但是對于表單數據處理還是比較麻煩. Flask-RESTful 提供了 reqparse 一種類似 argparse 參數解析機制以簡化參數處理.

parser = reqparse.RequestParser(): reqparse使用RequestParser() 可以從 flask.Request.values,以及 flask.Request.json 解析值。這里創建了一個解析對象parser。

parser.add_argument('task'):向parser對象中添加你要關注的命令行參數和選項,每一個add_argument方法對應一個你要關注的參數或選項。

parser.parse_args():調用parse_args()方法進行解析,解析成功之后即可使用。

4). add_argument擴展

對于必傳的參數,可以設置required=True

parser.add_argument('name', type=str, required=True,help="Name cannot be blank!")

傳多個值,使用 action='append'

parser.add_argument('name', type=str, action='append')

使用:

curl http://api.example.com -d "Name=bob" -d "Name=sue" -d "Name=joe"

獲取的參數為:

args = parser.parse_args()args['name']  # ['bob', 'sue', 'joe']

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 合作市| 扶余县| 含山县| 咸丰县| 朝阳区| 大埔区| 抚顺县| 邻水| 分宜县| 独山县| 桂阳县| 哈密市| 敖汉旗| 阜阳市| 镇雄县| 灵武市| 赣榆县| 句容市| 翁牛特旗| 新乡县| 临海市| 龙江县| 项城市| 北辰区| 乐业县| 宝山区| 峡江县| 周口市| 梅州市| 巴中市| 聂荣县| 娱乐| 岫岩| 怀化市| 甘肃省| 眉山市| 佳木斯市| 韩城市| 宁城县| 龙泉市| 泰顺县|