Coverage for docs_src/extra_data_types/tutorial001_an.py: 100%
11 statements
« prev ^ index » next coverage.py v7.6.1, created at 2025-05-05 00:03 +0000
« prev ^ index » next coverage.py v7.6.1, created at 2025-05-05 00:03 +0000
1from datetime import datetime, time, timedelta 1abcdef
2from typing import Union 1abcdef
3from uuid import UUID 1abcdef
5from fastapi import Body, FastAPI 1abcdef
6from typing_extensions import Annotated 1abcdef
8app = FastAPI() 1abcdef
11@app.put("/items/{item_id}") 1abcdef
12async def read_items( 1abcdef
13 item_id: UUID,
14 start_datetime: Annotated[datetime, Body()],
15 end_datetime: Annotated[datetime, Body()],
16 process_after: Annotated[timedelta, Body()],
17 repeat_at: Annotated[Union[time, None], Body()] = None,
18):
19 start_process = start_datetime + process_after 1ghijkl
20 duration = end_datetime - start_process 1ghijkl
21 return { 1ghijkl
22 "item_id": item_id,
23 "start_datetime": start_datetime,
24 "end_datetime": end_datetime,
25 "process_after": process_after,
26 "repeat_at": repeat_at,
27 "start_process": start_process,
28 "duration": duration,
29 }