データベースに写真を追加するFlaskを使用してRESTAPIを構築しています。データベースはPhotoModelクラスで抽象化されています。APIは、名前のbin文字列に画像を含むJSON形式のHTTP POSTを受け取ります。他のすべてのパラメーターは、オプションです。
投稿されたJSONにパラメータが存在しない場合に「写真」オブジェクトを作成するにはどうすればよいですか?データベースモデル(PhotoModel)では、2つの必須項目のみを指定しているため、JSONに存在するパラメーターのみを考慮するロジックは次の関数に含まれている必要があります。
def add_photo():
"""Add photo to database"""
if request.method == 'POST' and request.headers['Content-Type'] == 'application/json':
photo = PhotoModel(
name = request.json['name'],
device_version = request.json['device_version'],
date = request.json['date'],
picture = request.json['picture'],
comment = request.json['comment']
)
try:
photo.put()
return "200"
except CapabilityDisabledError:
return "500 DB read-only"
else:
return "415 Unsupported Media Type"
私はそれを行う方法を理解することはできません、どんなポインタも助けになるでしょう