python - Flask Python REST API 在接收 POST 时设置可选 JSON 参数

标签 python json api rest flask

我正在使用 Flask 构建一个 REST API,它将照片添加到数据库中。数据库被抽象为 PhotoModel 类。 API 接收 JSON 格式的 HTTP POST,其中包含 bin 字符串中的图片和名称,所有其他参数都是可选的。

如果发布的 JSON 中不存在某些参数,如何构造“照片”对象? 在数据库模型(PhotoModel)上,我只指定了两个强制项,因此仅考虑 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"

我不知道该怎么做,任何指针都会有帮助

最佳答案

看看peewee它带有 JSON 格式的 RESTful API。它也是一个轻型 ORM 引擎。

关于python - Flask Python REST API 在接收 POST 时设置可选 JSON 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13161811/

相关文章:

c# - 从 Web 服务反序列化大型 JSON 对象(内存不足)

json - 来自 Elasticsearch 过滤查询的Ajax 400错误请求

android - Unity 4.6 和 Android API 级别 8

python - Python中多字典和列表字典以及两个列表字典的交集高效快速的数据存储和处理

python - 使用 Django 和 csv.DictReader 解析 CSV

php - 将 php session 变量序列化为 json 格式

PHP 四舍五入到精度 2

java - 带有 Intent 的 Google 护目镜还是 Amazon API?

python - 我可以用少于 2 个查询和 1 个循环得到 "number of users who have created their first object since -date-"吗?

python - 以 BFS 风格将深度的嵌套字典(森林)写入文本文件