[英]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.