私はAPIを作成しており、JSONでデータを期待しています。私の関数はうまく機能し、次のようにSQLiteにデータを保存します。
if request.method == 'POST':
if request.headers['Content-Type'] == 'application/json':
db = get_db()
data = json.loads(request.data)
row = (data['lat'], data['long'], data['address'], data['name'])
db.execute('INSERT INTO places (lat, long, address, name) values (?, ?, ?, ?)', row)
db.commit()
resp = Response(status=200, mimetype='application/json')
return resp
誰かが間違ったJSONフィールド(、、、または)がないPOSTを送信するとlat
、Flasklong
によってエラーがスローされます。address
name
これを処理するための最良の方法は何ですか?
私はやってみました:
if not 'lat' in data or if not 'long' in data or ....
しかし、これdata
は単なる文字列であり、辞書ではありません。だから私は2つの質問があります:
- 上記の辞書のように、どのようにファイルが参照されていますか(
data['lat']
...)? - このエラーを処理する適切な方法は何ですか?