网络编程
位置:首页>> 网络编程>> Python编程>> python http服务flask架构实用代码详解分析

python http服务flask架构实用代码详解分析

作者:剑客阿良_ALiang  发布时间:2023-07-31 13:52:59 

标签: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架构实用代码详解分析

来源:https://huyi-aliang.blog.csdn.net/article/details/120781915

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com