色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

fastapi json null校驗

錢衛國2年前8瀏覽0評論

FastAPI是一款基于Python的API框架,它強調高性能和易用性。在FastAPI中,我們可以通過pydantic庫來定義API接口的輸入輸出模型。pydantic庫提供了一個非常便利的特性——Json Schema生成,它可以生成Json Schema的定義,從而可以實現輸入參數的校驗。但是,在Json Schema中對于null值的校驗卻是一個麻煩的問題。

在Json Schema中,如果我們想要校驗一個參數的值是否為null,我們需要在Json Schema中顯式地設置"nullable":true。但是,如果我們使用pydantic生成的Json Schema進行校驗,會發現Json Schema中并沒有"nullable"關鍵字。

為了解決這個問題,我們可以通過在pydantic模型中添加一個"Optional[Union[T, None]]"類型的字段來實現。這樣,如果我們想要接受一個可能為null的參數,只需要將該參數的類型設置為"Optional[Union[T, None]]"即可。

from typing import Optional, Union
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class User(BaseModel):
id: int
name: str
email: Optional[Union[str, None]] = None
@app.post("/users/")
async def create_user(user: User):
return {"user": user}

在上面的代碼中,我們定義了一個名為User的pydantic模型,該模型包含三個字段:id、name和email。其中,id和name字段是必填的,而email字段是可選的。如果我們不想設置email的值,可以將其設置為None。

通過上面的代碼,我們可以通過https://localhost:8000/docs來測試我們的API接口。我們可以測試一下輸入空值的情況,這樣我們就成功地實現了Json Schema的空值校驗。

下一篇layer.vue