簡體   English   中英

iOS 400錯誤要求Flask + Zappa

[英]iOS 400 Bad Request for Flask + Zappa

我正在將帶有Zappa的簡單Flask應用程序部署到AWS Lambda,但遇到了問題。

我正在將POST請求發送到https://aws-ip-lambda-stuff.com/prod/chats/store ,它會觸發:

@app.route('/chats/store/', methods=['POST'])
def store_chats():
    if request.form['username'] is not None and request.form['password'] is not None \
            and request.form['chats'] is not None:

        username = request.form['username']
        password = request.form['password']
        chats = request.form['chats']

        response = db.get_chats(username)
        db.upsert_chats(username, password, chats)

        if 'Item' not in response:
            old_chats = ""
        else:
            old_chats = response['Item']['chats']

        if old_chats != chats:
            db.upsert_read_chats(username, False)

        return jsonify({
            'error': 0,
            'message': 'success',
            'chats_updated': old_chats != chats
        })

    else:
        abort(401)

如果我使用Postman,則可以使請求正常運行,但是使用本機iOS Swift請求庫,則會出現400 BAD REQUEST錯誤,而我根本無法進行排序。

它與Lambda,iOS,Zappa有關嗎? 燒瓶? 有人有任何想法嗎?

謝謝

這400個錯誤通常表示您未按照燒瓶所期望的形式發送數據。 如果您以空格式發送,則以下行將導致400錯誤,因為'username'不在提交的格式中,但仍應在該格式中使用。

if request.form['username'] is not None:

如果要檢查是否以表格形式提供了參數,請改用此方法:

if 'username' in request.form:
    do_stuff()
else:
    abort(401)

就像嘗試訪問以下字典{'a': 2, 'b': 3}不存在的'c'鍵一樣,但是它沒有拋出KeyError ,而是給您400 Error

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM