我正在编写一个 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
如果有人发送的 POST 包含不正确的 JSON 字段(缺少lat
、或) long
,那么 Flask 会抛出错误。address
name
处理这个问题的最佳方法是什么?
我试着做:
if not 'lat' in data or if not 'long' in data or ....
但是data
只是一个字符串而不是字典。所以我有两个问题:
- 提交的文件是如何被引用的,就好像它是上面的字典(
data['lat']
...)? - 处理此错误的适当方法是什么?