欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

flask-restful使用總結

 更新時間:2018年12月04日 15:30:19   作者:stray  
Flask-RESTful是一個用于快速創(chuàng)建RESTful API接口的Flask擴展。,這篇文章主要介紹了flask-restful使用總結,具有一定的參考價值,感興趣的小伙伴們可以參考一下

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

1、安裝

pip install flask_restful

2、全部代碼

from flask import Flask
from flask_restful import reqparse, abort, Api, Resource

app = 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, 201


class TodoList(Resource):
  def get(self):
    return TODOS


api.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接口的具體實現(xiàn),需要繼承Resource類。在類中可以定義get、post等符合restful規(guī)范的接口。

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). 參數(shù)解析

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

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

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

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

4). add_argument擴展

對于必傳的參數(shù),可以設置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"

獲取的參數(shù)為:

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

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

相關文章

  • 詳解Pymongo常用查詢方法總結

    詳解Pymongo常用查詢方法總結

    這篇文章主要介紹了詳解Pymongo常用查詢方法總結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • python字典一鍵多值實例代碼分享

    python字典一鍵多值實例代碼分享

    在本篇文章里小編給大家整理了關于python字典一鍵多值實例代碼以及相關知識點,需要的朋友們參考下。
    2019-06-06
  • python如何讀取100G的大文件實例探究

    python如何讀取100G的大文件實例探究

    這篇文章主要為大家介紹了python如何讀取100G的大文件實例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • Python實現(xiàn)的概率分布運算操作示例

    Python實現(xiàn)的概率分布運算操作示例

    這篇文章主要介紹了Python實現(xiàn)的概率分布運算操作,涉及Python概率運算與圖形繪制相關操作技巧,需要的朋友可以參考下
    2017-08-08
  • elasticsearch python 查詢的兩種方法

    elasticsearch python 查詢的兩種方法

    這篇文章主要介紹了elasticsearch python 查詢的兩種方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-08-08
  • Dephi逆向工具Dede導出函數(shù)名MAP導入到IDA中的實現(xiàn)方法

    Dephi逆向工具Dede導出函數(shù)名MAP導入到IDA中的實現(xiàn)方法

    這篇文章主要介紹了Dephi逆向工具Dede導出函數(shù)名MAP導入到IDA中,通過這個腳本,我們就可以把專業(yè)dephi程序分析的結果,轉移到IDA專業(yè)逆向代碼分析的平臺,實現(xiàn)聯(lián)動,需要的朋友可以參考下
    2022-08-08
  • Python如何讀寫二進制數(shù)組數(shù)據(jù)

    Python如何讀寫二進制數(shù)組數(shù)據(jù)

    這篇文章主要介紹了Python如何讀寫二進制數(shù)組數(shù)據(jù),文中講解非常細致,代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-08-08
  • Python 創(chuàng)建TCP服務器的方法

    Python 創(chuàng)建TCP服務器的方法

    這篇文章主要介紹了Python 創(chuàng)建TCP服務器的方法,文中講解非常細致,代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-07-07
  • python logging模塊的使用總結

    python logging模塊的使用總結

    這篇文章主要介紹了python logging模塊使用總結以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。,需要的朋友可以參考下
    2019-07-07
  • Anaconda最新版2023安裝教程Spyder安裝教程圖文詳解

    Anaconda最新版2023安裝教程Spyder安裝教程圖文詳解

    這篇文章主要介紹了Anaconda最新版2023安裝教程Spyder安裝教程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05

最新評論