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