主要的响应对象类型Content-Type有:
1.文本 text/plain
2.HTML text/html
3.XML application/xml
4.json application/json
1.手动构造json响应头和响应状态码:
import json
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
# 构造响应头信息,返回json对象
info_dict = {"user_name": "chuntian", "age": "4", "gender": "male"} # info_dict为python中的字典对象
return json.dumps(info_dict), 201, {"content-type": "application/json"}
if __name__ == '__main__':
app.run(debug=True)
2.make_response()方法构造响应对象
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
# 构造响应头信息,返回json对象
info_dict = {"user_name": "chuntian", "age": "4", "gender": "male"} # info_dict为python中的字典对象
# return json.dumps(info_dict), 201, {"content-type": "application/json"}
from flask import make_response
res = make_response(info_dict, {"content-type": "application/json"}) # make_response()可构造响应
res.status = "202"
return res
if __name__ == '__main__':
app.run(debug=True)
3.flask中的jsonify()方法构造json响应对象
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
# 构造响应头信息,返回json对象
info_dict = {"user_name": "chuntian", "age": "4", "gender": "male"} # info_dict为python中的字典对象
# return json.dumps(info_dict), 201, {"content-type": "application/json"}
# from flask import make_response
# res = make_response(info_dict, {"content-type": "application/json"}) # make_response()可构造响应
# res.status = "202"
from flask import jsonify
res = jsonify(info_dict)
res.status_code = '203'
return res
if __name__ == '__main__':
app.run(debug=True)
4.响应中文:
无论使用json.dumps()还是jsonify(),返回的都是字符的原生格式。通过设置实现返回中文。
:json.dumps({"name": "春田"}, ensure_ascii=False)
: app.config['JSON_AS_ASCII'] = False
jsonify({"name": "春田"})
from flask import Flask
app = Flask(__name__)
app.config['JSON_AS_ASCII'] = False # 允许解码中文
app.config['MAX_CONTENT_LENGTH'] = 10 * 1024 * 1024 # 限制上传的文件大小
@app.route('/')
def index():
# 构造响应头信息,返回json对象
info_dict = {"user_name": "春田", "age": "4", "gender": "男"} # info_dict为python中的字典对象
# return json.dumps(info_dict), 201, {"content-type": "application/json"}
# from flask import make_response
# res = make_response(info_dict, {"content-type": "application/json"}) # make_response()可构造响应
# res.status = "202"
from flask import jsonify
res = jsonify(info_dict)
res.status_code = '203'
return res
if __name__ == '__main__':
app.run(debug=True)



