我制作了简单的 Flask REST-API 应用程序。只有两个字段:
upload_parser.add_argument('photo', location='files', type=FileStorage)
upload_parser.add_argument('group', location='form', choices=[1,2,3], help='Bad value for group')
一切正常,图片上传,保存...... json 响应显示正常......但是,当我添加身份验证时,401 响应出现问题('未授权')。
奇怪的是,如果我只发布没有“照片”的“群组”,401 响应会正确显示。
我使用了这段代码:
def token_required(f):
@wraps(f)
def decorated(*args, **kwargs):
token = None
if 'X-API-KEY' in request.headers:
token = request.headers['X-API-KEY']
if not token:
response_object = {
'message': 'Token is missing!'
}
return make_response(jsonify(response_object), 401)
if token != 'mytoken':
response_object = {
'message': 'Could not verify your login!!'
}
return make_response(jsonify(response_object), 401)
print('TOKEN: {}'.format(token))
return f(*args, **kwargs)
然后我只是在帖子中调用它:
@token_required
def post(self):
return {"results": "OK"}
所以,如果我不发送“照片”,就会有回应:
{
"message": "Token is missing!"
}
但是在 POST 中使用照片时,缺少响应。
注意:如果我在标头中发送 X-API-KEY,一切正常。
这里有什么想法吗?