28 lines
562 B
Python
28 lines
562 B
Python
|
from typing import Any, List, Union
|
||
|
|
||
|
from fastapi import FastAPI
|
||
|
from pydantic import BaseModel
|
||
|
|
||
|
app = FastAPI()
|
||
|
|
||
|
|
||
|
class Item(BaseModel):
|
||
|
name: str
|
||
|
description: Union[str, None] = None
|
||
|
price: float
|
||
|
tax: Union[float, None] = None
|
||
|
tags: List[str] = []
|
||
|
|
||
|
|
||
|
@app.post("/items/", response_model=Item)
|
||
|
async def create_item(item: Item) -> Any:
|
||
|
return item
|
||
|
|
||
|
|
||
|
@app.get("/items/", response_model=List[Item])
|
||
|
async def read_items() -> Any:
|
||
|
return [
|
||
|
{"name": "Portal Gun", "price": 42.0},
|
||
|
{"name": "Plumbus", "price": 32.0},
|
||
|
]
|