pattern で正規表現を指定すれば良い。
全角カナの正規表現、必須の例
Field で pattern を指定
from pydantic import BaseModel, Field from fastapi import FastAPI class Item(BaseModel): name: str=Field(description="品名") kana: str=Field(description="カナ", pattern="^[ァ-ー]+$") class ResultBody(BaseModel): status: str=Field(description="ステータス") app = FastAPI() @app.post("/create", response_model=ResultBody) async def create(item: Item): print(f'name = {item.name}') print(f'kana = {item.kana}') res = ResultBody res.status = "OK" return res
カナ以外の文字で要求すると次のエラーになる。
[{'type': 'string_pattern_mismatch', 'loc': ('body', 'kana'),
'msg': "String should match pattern '^[ァ-ー]+$'",
'input': 'あいう', 'ctx': {'pattern': '^[ァ-ー]+$'}}]