日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

python的flask实现接口_使用python的Flask实现一个接口mock数据(傻瓜教程)

發布時間:2023/11/27 生活经验 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python的flask实现接口_使用python的Flask实现一个接口mock数据(傻瓜教程) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本教程使用的是python3 因為python2官方已經不維護了,當然在編寫過程中沒什么區別,安裝就比較簡單了只要電腦有pip執行pip3 install flask即可

一般的接口包括增刪改查以及查看列表五個接口

接下來就模擬這五個簡單的接口:

使用POST/GET請求新建一個資源

fromflask import Flask, jsonify, request, abort, make_response

app=Flask(__name__)

@app.route('/api/tasks/', methods=['GET', 'POST'])

def create_task():if request.method == "GET":return make_response(jsonify(data), 200)

name= request.json['name']if name innames:return make_response(task_exist, 400)else:

names.append(name)

data.append(request.json)return make_response(request.json, 201)if __name__ == '__main__':

app.run(host='127.0.0.1', port=8080, debug=True)

如上述代碼,在main函數里可以通過app.run指定部分參數,host和port不做贅述,debug模式如果開啟則在修改后可以自動重啟服務。非常好用

知識點:

1. jsonify:將我們傳入的json形式數據序列化成為json字符串,作為響應的body,并且設置響應的Content-Type為application/json,構造出響應返回至客戶端

2. request可以通過request.json取到接受到數據

3. abort用于返回通用的錯誤比如:404,400,500

4.make_response自定義返回的object,因為一般接口都會返回一個數據和狀態碼,所以結構為make_response(request.json, 201)

5.路由匹配的規則

1. :默認接受的類型是str

2. :指定id的類型為str

3. :指定的id類型是整性

4. : 指定id的類型為浮點數(四舍五入,且不能接收整數類型)

5. : 指定接收的path為url中的路徑

2. 使用GET請求獲取列表

from flask importFlask, jsonify, request, abort, make_response

app= Flask(__name__)

data=[

{"name": "test1", "desc": "test1", "id": 1},

{"name": "test2", "desc": "test2", "id": 2},

{"name": "test3", "desc": "test3", "id": 3},

]

task_does_not_exist= {"msg": "task does not exist"}

names= ['test1', 'test2', "test3"]

task_exist= {"msg": "name is exist"}

@app.route('/api/tasks/')defget_task(name):if len(name) > 0 and name innames:for content indata:if name == content['name']:return make_response(jsonify(content), 200)else:return make_response(jsonify(task_does_not_exist), 404)if __name__ == '__main__':

app.run(host='127.0.0.1', port=80, debug=True)

3. 使用PUT方法更新資源

@app.route('/api/tasks/', methods=['PUT'])defupdate_task(name):if len(name) > 0 and name innames:for content indata:if name == content['name']:

id= content["id"]

data[id- 1] =request.jsonreturn make_response(jsonify(data[id - 1]), 204)else:

abort(404)

4. 使用DELETE刪除資源

@app.route('/api/tasks/', methods=['DELETE'])defdelete_task(name):if len(name) > 0 and name in names:return make_response(jsonify(data), 204)else:

abort(404)

總結

以上是生活随笔為你收集整理的python的flask实现接口_使用python的Flask实现一个接口mock数据(傻瓜教程)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。