Python flask 如何让 response 按照一定的格式返回?

2020-12-16 19:23:44 +08:00
 tianxin8431

想让每个 resp 都按照这样的三段式返回:

{
    "data": xxx,
    "msg": xxx,
    "code": xxx
}

现在想的是用装饰器,这样可以实现视图函数的返回都按照这个来;但是有一些框架返回的东西没有办法按照这个 schema 返回,想问还有什么更好的办法吗?

1083 次点击
所在节点    问与答
3 条回复
linw1995
2020-12-16 19:36:08 +08:00
试一下 WSGI middleware ?
zhijiansha
2020-12-16 20:31:38 +08:00
after_request ?
Yuxiaoy
2020-12-16 21:50:34 +08:00
import json
from flask import Flask, Response


class MyResponse(Response):
def __init__(self, response, **kwargs):
response = json.dumps({'data': 'xxx', 'msg': 'xxx', 'code': 'xxx'})
return super(MyResponse, self).__init__(response, **kwargs)


app = Flask(__name__)
app.response_class = MyResponse


@app.route('/')
def index():
return 'I will be overrided'

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/736132

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX