Flask使用make_response返回响应时能否附加自定义响应消息
Flask接口添加自定义响应提示的实现方法
该需求可以实现。Flask原生make_response不支持直接传入response_message这类自定义参数,但可通过以下两种常用方案落地:
方案1:自定义提示写入响应体(最常用)
直接将提示字段整合到返回的JSON结构中,前端无需额外解析响应头,可读性和通用性最强:
@app.route('/run', methods = ['POST', 'GET']) def run(): ... # 重构响应结构,拆分数据、状态、提示字段 response_dict = { "data": {"item1":"...", "item2":"..."}, "code": 200, "response_message": "data not processed for item5" } return make_response(jsonify(response_dict), 200)
方案2:自定义提示写入响应头(无侵入响应体)
如果不需要改动原有JSON响应体结构,可以将提示字段放到自定义响应头中,行业惯例自定义头字段以X-开头命名:
@app.route('/run', methods = ['POST', 'GET']) def run(): ... response_dict = {"item1":"...", "item2":"..."} resp = make_response(jsonify(response_dict), 200) # 添加自定义响应头 resp.headers['X-Response-Message'] = "data not processed for item5" return resp
前端可通过response.headers.get('X-Response-Message')读取该提示内容,适合仅做后台链路排查、不需要前端展示提示的场景。
内容的提问来源于stack exchange,提问作者Utkarsh Prakash
相关产品推荐
相关产品推荐

