3 changed files with 2 additions and 74 deletions
@ -1,34 +0,0 @@ |
|||
from typing import List, Union |
|||
|
|||
from fastapi import FastAPI |
|||
from fastapi.encoders import jsonable_encoder |
|||
from pydantic import BaseModel |
|||
|
|||
app = FastAPI() |
|||
|
|||
|
|||
class Item(BaseModel): |
|||
name: Union[str, None] = None |
|||
description: Union[str, None] = None |
|||
price: Union[float, None] = None |
|||
tax: float = 10.5 |
|||
tags: List[str] = [] |
|||
|
|||
|
|||
items = { |
|||
"foo": {"name": "Foo", "price": 50.2}, |
|||
"bar": {"name": "Bar", "description": "The bartenders", "price": 62, "tax": 20.2}, |
|||
"baz": {"name": "Baz", "description": None, "price": 50.2, "tax": 10.5, "tags": []}, |
|||
} |
|||
|
|||
|
|||
@app.get("/items/{item_id}", response_model=Item) |
|||
async def read_item(item_id: str): |
|||
return items[item_id] |
|||
|
|||
|
|||
@app.put("/items/{item_id}", response_model=Item) |
|||
async def update_item(item_id: str, item: Item): |
|||
update_item_encoded = jsonable_encoder(item) |
|||
items[item_id] = update_item_encoded |
|||
return update_item_encoded |
|||
@ -1,37 +0,0 @@ |
|||
from typing import List, Union |
|||
|
|||
from fastapi import FastAPI |
|||
from fastapi.encoders import jsonable_encoder |
|||
from pydantic import BaseModel |
|||
|
|||
app = FastAPI() |
|||
|
|||
|
|||
class Item(BaseModel): |
|||
name: Union[str, None] = None |
|||
description: Union[str, None] = None |
|||
price: Union[float, None] = None |
|||
tax: float = 10.5 |
|||
tags: List[str] = [] |
|||
|
|||
|
|||
items = { |
|||
"foo": {"name": "Foo", "price": 50.2}, |
|||
"bar": {"name": "Bar", "description": "The bartenders", "price": 62, "tax": 20.2}, |
|||
"baz": {"name": "Baz", "description": None, "price": 50.2, "tax": 10.5, "tags": []}, |
|||
} |
|||
|
|||
|
|||
@app.get("/items/{item_id}", response_model=Item) |
|||
async def read_item(item_id: str): |
|||
return items[item_id] |
|||
|
|||
|
|||
@app.patch("/items/{item_id}", response_model=Item) |
|||
async def update_item(item_id: str, item: Item): |
|||
stored_item_data = items[item_id] |
|||
stored_item_model = Item(**stored_item_data) |
|||
update_data = item.dict(exclude_unset=True) |
|||
updated_item = stored_item_model.copy(update=update_data) |
|||
items[item_id] = jsonable_encoder(updated_item) |
|||
return updated_item |
|||
Loading…
Reference in new issue