1

我制作了简单的 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,一切正常。

这里有什么想法吗?

4

0 回答 0