13518219792

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

创新互联FastAPI教程:FastAPI教程额外数据类型

到目前为止,您一直在使用常见的数据类型,如:

但是您也可以使用更复杂的数据类型。

您仍然会拥有现在已经看到的相同的特性:

其他数据类型

下面是一些你可以使用的其他数据类型:

例子

下面是一个路径操作的示例,其中的参数使用了上面的一些类型。

from datetime import datetime, time, timedelta
from typing import Optional
from uuid import UUID

from fastapi import Body, FastAPI

app = FastAPI()


@app.put("/items/{item_id}")
async def read_items(
    item_id: UUID,
    start_datetime: Optional[datetime] = Body(None),
    end_datetime: Optional[datetime] = Body(None),
    repeat_at: Optional[time] = Body(None),
    process_after: Optional[timedelta] = Body(None),
):
    start_process = start_datetime + process_after
    duration = end_datetime - start_process
    return {
        "item_id": item_id,
        "start_datetime": start_datetime,
        "end_datetime": end_datetime,
        "repeat_at": repeat_at,
        "process_after": process_after,
        "start_process": start_process,
        "duration": duration,
    }

注意,函数内的参数有原生的数据类型,你可以,例如,执行正常的日期操作,如:

from datetime import datetime, time, timedelta
from typing import Optional
from uuid import UUID

from fastapi import Body, FastAPI

app = FastAPI()


@app.put("/items/{item_id}")
async def read_items(
    item_id: UUID,
    start_datetime: Optional[datetime] = Body(None),
    end_datetime: Optional[datetime] = Body(None),
    repeat_at: Optional[time] = Body(None),
    process_after: Optional[timedelta] = Body(None),
):
    start_process = start_datetime + process_after
    duration = end_datetime - start_process
    return {
        "item_id": item_id,
        "start_datetime": start_datetime,
        "end_datetime": end_datetime,
        "repeat_at": repeat_at,
        "process_after": process_after,
        "start_process": start_process,
        "duration": duration,
    }


网站题目:创新互联FastAPI教程:FastAPI教程额外数据类型
当前网址:http://cdbrznjsb.com/article/djpjooo.html

其他资讯

让你的专属顾问为你服务