艾克斯记事-XDIANNAO

Flask 返回Json格式字符串

Flask 返回Json格式字符串

一个小疏忽,愣是折腾的同事差点骂娘;

同事在做一个接口调用的开发工作,与对端的一个接口通信,需要使用Json格式,开始没留意直接返回了字符串,忽略了Header的问题,导致接口调用异常,查了好久愣是没找到原因,因为对端接口并没有返回什么有效的错误信息,就很懵。

找到我帮忙检查一下,看能不能发现问题在哪,自己开了模拟的接口来接收调用数据排查一下问题,其他数据一切正常,但是发现Header并没生表明是Json,更正后一切正常。

from flask import Flask,request,make_response
from flask_cors import *
import json
app = Flask(__name__)
CORS(app, supports_credentials=True)

'''
测试接口,将提交数据全部返回,用于检测接口数据是否正常;
简单测试
'''

@app.route("/api/test",methods=["POST"])
def testAPI():
    data = json.loads(request.data.decode("utf-8"))
    resp = make_response(json.dumps({"msg":data,"status":1}))
    resp.headers['Content-Type'] = str('application/json;charset=UTF-8')
    return resp

设置Header的方式

在Header中设置格式为Json

resp.headers['Content-Type'] = str('application/json;charset=UTF-8')

版权所有©艾克斯记事-转载文章请注明出处(带链接)