Union在FastAPI中被用来描述一个字段的可能值的类型。
它实际上是一个类型注释,用来让开发者知道这个字段所支持的几种类型。例如:
from typing import Union
from fastapi import FastAPI
app = FastAPI()
@app.post("/items/")
async def create_item(item: Union[str, int]):
return {"item": item}
这个例子中,item字段的类型注释是Union,它指定了item字段可以接受两种类型的值:str和int。这意味着当一个POST请求到达时,如果请求体中的item字段值是一个字符串,那么它将被解析为字符串类型;如果它是一个整数,那么它将被解析为整数类型。
使用Union类型注释可以帮助代码更加健壮和可读,特别是在处理API请求时,不同的请求可能会有不同的数据类型。