Python flask 如何让 response 按照一定的格式返回? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
tianxin8431

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

  •  
  •   tianxin8431 Dec 16, 2020 1698 views
    This topic created in 1961 days ago, the information mentioned may be changed or developed.

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

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

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

    3 replies    2020-12-16 21:50:34 +08:00
    linw1995
        1
    linw1995  
       Dec 16, 2020
    试一下 WSGI middleware ?
    NLL
        2
    NLL  
       Dec 16, 2020
    after_request ?
    Yuxiaoy
        3
    Yuxiaoy  
       Dec 16, 2020   3
    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'