新闻动态

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

发布日期:2021-12-18 09:30 | 文章来源:CSDN

依赖库

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服务内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。

相关文章

实时开通

自选配置、实时开通

免备案

全球线路精选!

全天候客户服务

7x24全年不间断在线

专属顾问服务

1对1客户咨询顾问

在线
客服

在线客服:7*24小时在线

客服
热线

400-630-3752
7*24小时客服服务热线

关注
微信

关注官方微信
顶部