[英]Flask-restful: How to only response to requests come with ('Accept':'application/json')?
我有一个json api APP,运行良好。现在我希望它只接受和响应json,而不是对text / html请求的响应。 应用程序如下所示:
class Books(Resource):
def get(self):
return json.dumps(data)
有人可以帮忙吗? 谢谢。
您可以使用预处理请求处理程序拒绝具有错误MimeType的所有请求。 Request
对象的属性(没有记录,但至少在Flask 0.10上出现)名为is_json
鉴于您的Flask应用程序称为应用程序,您可以使用以下内容:
from flask import request, abort, jsonify
@application.before_request
def only_json():
if not request.is_json:
abort(400) # or any custom BadRequest message
我还会使用Flask jsonify
函数来构建你的响应,它将确保响应在json中格式良好,并且还设置了正确的标题。
class Books(Resource):
def get(self):
return jsonify(data)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.