如何将请求和响应"Content-Type"设置为"application/json;charset=UTF-8"?
How to set Request and response "Content-Type" to "application/json;charset=UTF-8"?
在 flask restful 中,基于开放的 API 规范,我需要确保请求 header Content-Type
设置为 application/json;charset=UTF-8
这意味着输入请求是 JSON 并以 UTF-8 编码。
我可以使用以下代码检查 JSON:
if request.is_json:
do some thing
但是,我如何确保请求和响应是 UTF-8
编码并且输出也应该是 application/json;charset=UTF-8
?
您可以使用 jsonify 创建响应
from flask import Flask, jsonify
...
然后你可以改变一些http属性
response = jsonify({"status": "ok" })
response.status_code = 200
response.headers["Content-Type"] = "application/json; charset=utf-8"
return response
您可以像这样将 JSONIFY_MIMETYPE
配置设置为 "application/json; charset=utf-8"
。
from flask import Flask
app = Flask(__name__)
app.config["JSON_AS_ASCII"] = False
app.config["JSONIFY_MIMETYPE"] = "application/json; charset=utf-8"
所以下次,你 return 这样的数据 return jsonify(data)
- 不要弄乱 response.headers
在 flask restful 中,基于开放的 API 规范,我需要确保请求 header Content-Type
设置为 application/json;charset=UTF-8
这意味着输入请求是 JSON 并以 UTF-8 编码。
我可以使用以下代码检查 JSON:
if request.is_json:
do some thing
但是,我如何确保请求和响应是 UTF-8
编码并且输出也应该是 application/json;charset=UTF-8
?
您可以使用 jsonify 创建响应
from flask import Flask, jsonify
...
然后你可以改变一些http属性
response = jsonify({"status": "ok" })
response.status_code = 200
response.headers["Content-Type"] = "application/json; charset=utf-8"
return response
您可以像这样将 JSONIFY_MIMETYPE
配置设置为 "application/json; charset=utf-8"
。
from flask import Flask
app = Flask(__name__)
app.config["JSON_AS_ASCII"] = False
app.config["JSONIFY_MIMETYPE"] = "application/json; charset=utf-8"
所以下次,你 return 这样的数据 return jsonify(data)
- 不要弄乱 response.headers