pythonasyncioapiasyncfastapiframeworkjsonjson-schemaopenapiopenapi3pydanticpython-typespython3redocreststarletteswaggerswagger-uiuvicornweb
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
540 B
29 lines
540 B
from fastapi import Body, FastAPI
|
|
from pydantic import BaseModel
|
|
|
|
app = FastAPI()
|
|
|
|
|
|
class Item(BaseModel):
|
|
name: str
|
|
description: str = None
|
|
price: float
|
|
tax: float = None
|
|
|
|
|
|
class User(BaseModel):
|
|
username: str
|
|
full_name: str = None
|
|
|
|
|
|
@app.put("/items/{item_id}")
|
|
async def update_item(
|
|
*, item_id: int, item: Item, user: User, access_token: str = Body(...)
|
|
):
|
|
results = {
|
|
"item_id": item_id,
|
|
"item": item,
|
|
"user": user,
|
|
"access_token": access_token,
|
|
}
|
|
return results
|
|
|