Coverage for docs_src/schema_extra_example/tutorial005.py: 100%
13 statements
« prev ^ index » next coverage.py v7.6.1, created at 2024-08-08 03:53 +0000
« prev ^ index » next coverage.py v7.6.1, created at 2024-08-08 03:53 +0000
1from typing import Union 1abcde
3from fastapi import Body, FastAPI 1abcde
4from pydantic import BaseModel 1abcde
6app = FastAPI() 1abcde
9class Item(BaseModel): 1abcde
10 name: str 1abcde
11 description: Union[str, None] = None 1abcde
12 price: float 1abcde
13 tax: Union[float, None] = None 1abcde
16@app.put("/items/{item_id}") 1abcde
17async def update_item( 1abcde
18 *,
19 item_id: int,
20 item: Item = Body(
21 openapi_examples={
22 "normal": {
23 "summary": "A normal example",
24 "description": "A **normal** item works correctly.",
25 "value": {
26 "name": "Foo",
27 "description": "A very nice Item",
28 "price": 35.4,
29 "tax": 3.2,
30 },
31 },
32 "converted": {
33 "summary": "An example with converted data",
34 "description": "FastAPI can convert price `strings` to actual `numbers` automatically",
35 "value": {
36 "name": "Bar",
37 "price": "35.4",
38 },
39 },
40 "invalid": {
41 "summary": "Invalid data is rejected with an error",
42 "value": {
43 "name": "Baz",
44 "price": "thirty five point four",
45 },
46 },
47 },
48 ),
49):
50 results = {"item_id": item_id, "item": item} 1abcde
51 return results 1abcde