28 lines
537 B
Python
28 lines
537 B
Python
|
from typing import Any
|
||
|
|
||
|
from fastapi import FastAPI
|
||
|
from pydantic import BaseModel
|
||
|
|
||
|
app = FastAPI()
|
||
|
|
||
|
|
||
|
class Item(BaseModel):
|
||
|
name: str
|
||
|
description: str | None = None
|
||
|
price: float
|
||
|
tax: 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},
|
||
|
]
|