13 changed files with 8 additions and 144 deletions
@ -1,35 +0,0 @@ |
|||
from typing import Union |
|||
|
|||
from fastapi import Body, FastAPI |
|||
from pydantic import BaseModel |
|||
from typing_extensions import Annotated |
|||
|
|||
app = FastAPI() |
|||
|
|||
|
|||
class Item(BaseModel): |
|||
name: str |
|||
description: Union[str, None] = None |
|||
price: float |
|||
tax: Union[float, None] = None |
|||
|
|||
|
|||
@app.put("/items/{item_id}") |
|||
async def update_item( |
|||
item_id: int, |
|||
item: Annotated[ |
|||
Item, |
|||
Body( |
|||
examples=[ |
|||
{ |
|||
"name": "Foo", |
|||
"description": "A very nice Item", |
|||
"price": 35.4, |
|||
"tax": 3.2, |
|||
} |
|||
], |
|||
), |
|||
], |
|||
): |
|||
results = {"item_id": item_id, "item": item} |
|||
return results |
|||
@ -1,44 +0,0 @@ |
|||
from typing import Union |
|||
|
|||
from fastapi import Body, FastAPI |
|||
from pydantic import BaseModel |
|||
from typing_extensions import Annotated |
|||
|
|||
app = FastAPI() |
|||
|
|||
|
|||
class Item(BaseModel): |
|||
name: str |
|||
description: Union[str, None] = None |
|||
price: float |
|||
tax: Union[float, None] = None |
|||
|
|||
|
|||
@app.put("/items/{item_id}") |
|||
async def update_item( |
|||
*, |
|||
item_id: int, |
|||
item: Annotated[ |
|||
Item, |
|||
Body( |
|||
examples=[ |
|||
{ |
|||
"name": "Foo", |
|||
"description": "A very nice Item", |
|||
"price": 35.4, |
|||
"tax": 3.2, |
|||
}, |
|||
{ |
|||
"name": "Bar", |
|||
"price": "35.4", |
|||
}, |
|||
{ |
|||
"name": "Baz", |
|||
"price": "thirty five point four", |
|||
}, |
|||
], |
|||
), |
|||
], |
|||
): |
|||
results = {"item_id": item_id, "item": item} |
|||
return results |
|||
@ -1,55 +0,0 @@ |
|||
from typing import Union |
|||
|
|||
from fastapi import Body, FastAPI |
|||
from pydantic import BaseModel |
|||
from typing_extensions import Annotated |
|||
|
|||
app = FastAPI() |
|||
|
|||
|
|||
class Item(BaseModel): |
|||
name: str |
|||
description: Union[str, None] = None |
|||
price: float |
|||
tax: Union[float, None] = None |
|||
|
|||
|
|||
@app.put("/items/{item_id}") |
|||
async def update_item( |
|||
*, |
|||
item_id: int, |
|||
item: Annotated[ |
|||
Item, |
|||
Body( |
|||
openapi_examples={ |
|||
"normal": { |
|||
"summary": "A normal example", |
|||
"description": "A **normal** item works correctly.", |
|||
"value": { |
|||
"name": "Foo", |
|||
"description": "A very nice Item", |
|||
"price": 35.4, |
|||
"tax": 3.2, |
|||
}, |
|||
}, |
|||
"converted": { |
|||
"summary": "An example with converted data", |
|||
"description": "FastAPI can convert price `strings` to actual `numbers` automatically", |
|||
"value": { |
|||
"name": "Bar", |
|||
"price": "35.4", |
|||
}, |
|||
}, |
|||
"invalid": { |
|||
"summary": "Invalid data is rejected with an error", |
|||
"value": { |
|||
"name": "Baz", |
|||
"price": "thirty five point four", |
|||
}, |
|||
}, |
|||
}, |
|||
), |
|||
], |
|||
): |
|||
results = {"item_id": item_id, "item": item} |
|||
return results |
|||
Loading…
Reference in new issue