Coverage for docs_src/schema_extra_example/tutorial005_an_py310.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 Annotated 1abc
3from fastapi import Body, FastAPI 1abc
4from pydantic import BaseModel 1abc
6app = FastAPI() 1abc
9class Item(BaseModel): 1abc
10 name: str 1abc
11 description: str | None = None 1abc
12 price: float 1abc
13 tax: float | None = None 1abc
16@app.put("/items/{item_id}") 1abc
17async def update_item( 1abc
18 *,
19 item_id: int,
20 item: Annotated[
21 Item,
22 Body(
23 openapi_examples={
24 "normal": {
25 "summary": "A normal example",
26 "description": "A **normal** item works correctly.",
27 "value": {
28 "name": "Foo",
29 "description": "A very nice Item",
30 "price": 35.4,
31 "tax": 3.2,
32 },
33 },
34 "converted": {
35 "summary": "An example with converted data",
36 "description": "FastAPI can convert price `strings` to actual `numbers` automatically",
37 "value": {
38 "name": "Bar",
39 "price": "35.4",
40 },
41 },
42 "invalid": {
43 "summary": "Invalid data is rejected with an error",
44 "value": {
45 "name": "Baz",
46 "price": "thirty five point four",
47 },
48 },
49 },
50 ),
51 ],
52):
53 results = {"item_id": item_id, "item": item} 1abc
54 return results 1abc