python http服務flask架構實用代碼詳解分析
依賴庫
flask安裝,使用豆瓣源加速。
pip install flask -i https://pypi.douban.com/simple
gevent安裝,使用豆瓣源加速。
pip install gevent -i https://pypi.douban.com/simple
代碼
#!/user/bin/env python # coding=utf-8 """ @project : TestDemo @author : huyi @file : app.py @ide : PyCharm @time : 2021-10-15 11:58:44 """ from flask import Flask, request from gevent.pywsgi import WSGIServer from gevent import monkey import json # 將python標準的io方法,都替換成gevent中的同名方法,遇到io阻塞gevent自動進行協程切換 monkey.patch_all() app = Flask(__name__) # 請求返回實體 class TestResponse: def __init__( self, code, success, msg, data): self.code = code self.success = success self.msg = msg self.data = data @app.route('/progress', methods=['POST']) def progress(): request_data = json.loads(request.data) print("進度回調:{}".format(request_data)) return json.dumps( TestResponse(0, True, "progress callback success", None), default=lambda obj: obj.__dict__, sort_keys=True, indent=4) @app.route('/result', methods=['POST']) def result(): request_data = json.loads(request.data) print("結果回調:{}".format(request_data)) return json.dumps( TestResponse(0, True, "result callback success", None), default=lambda obj: obj.__dict__, sort_keys=True, indent=4) if __name__ == '__main__': print("遇事不決,可問春風。") WSGIServer(('0.0.0.0', 8383), app).serve_forever()
使用postman驗證結果
總結
該代碼架構簡單有效,不用加過多繁重的東西。如果需要異步非阻塞接口調用的話,可以加個線程池,把執行內容扔個線程出去,一樣適用。
如果本文對你有幫助,請點個贊支持一下吧。
到此這篇關於python http服務flask架構實用代碼詳解分析的文章就介紹到這瞭,更多相關python http服務內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 利用python寫api接口實戰指南
- python如何構建mock接口服務
- Python中json.load()和json.loads()有哪些區別
- 用python實現監控視頻人數統計
- 如何使用flask將模型部署為服務