FastAPI学习-数据更新

数据更新使用PUT方法和PATCH方法

区别在于PUT是整体更新,未传的参数使用默认值;PATCH是部分更新,只更新传的参数,其余参数使用默认值

注意整体更新和部分更新并不是FastAPI实现的,需要自己实现

from datetime import datetime

from fastapi import FastAPI
from fastapi.encoders import jsonable_encoder
from pydantic import BaseModel

fake_db = {}


class Item(BaseModel):
    title: str
    timestamp: datetime
    description: str = None


app = FastAPI()


@app.put("/items/{id}")
def update_item(id: str, item: Item):
    json_compatible_item_data = jsonable_encoder(item)
    fake_db[id] = json_compatible_item_data
    
    return "转换前类型:{0},转换后类型:{1}".format(type(item),type(json_compatible_item_data))

更新前

FastAPI学习-数据更新_第1张图片
部分更新

FastAPI学习-数据更新_第2张图片
全量更新

FastAPI学习-数据更新_第3张图片

参考资料

  1. FastAPI官网 :https://fastapi.tiangolo.com/
  2. FastAPI源码 :https://github.com/tiangolo/fastapi

你可能感兴趣的:(FastAPI学习-数据更新)