可以使用 Flask 的 request 内置对象来获取请求中提交的内容类型(Content-Type)字段,并根据不同的内容类型分别进行处理。
例如,假设我们有一个名为“/do_something”的路由,当请求的内容类型为 application/json 时,我们想要返回 JSON 格式的响应,否则返回纯文本格式的响应。那么可以按以下方式来区分请求:
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/do_something', methods=['POST'])
def do_something():
content_type = request.headers.get('Content-Type')
if content_type == 'application/json':
data = request.get_json()
# 对 JSON 数据进行处理
return jsonify({'status': 'ok'})
else:
data = request.data.decode()
# 对纯文本数据进行处理
return 'ok'
在上面的示例中,我们首先获取请求头中的 Content-Type 字段,然后判断该字段是否等于 application/json。如果是,则使用 request.get_json() 获取请求中的 JSON 数据,并做进一步处理;否则,使用 request.data 获取纯文本格式的数据,并做进一步处理。最终将处理结果作为响应返回给客户端。
下一篇:按内置属性代码搜索主数据服务成员