问题:pydantic如何让字段只允许几个固定的值
解决:python3 内置的enum 模块可以支持枚举类型
方法:
from enum import Enum, IntEnum
class dayEnum(IntEnum):
all = 0
one = 1
seven = 7
month = 30
class DaySchema(BaseModel):
day: dayEnum=all
问题:pydantic如何让字段只允许几个固定的值
解决:python3 内置的enum 模块可以支持枚举类型
方法:
from enum import Enum, IntEnum
class dayEnum(IntEnum):
all = 0
one = 1
seven = 7
month = 30
class DaySchema(BaseModel):
day: dayEnum=all
问题:FastAPI的HTTPException中有detail,如何去?
解决:重新定义HTTPException,及验证用的RequestValidationError
方法:
from fastapi import FastAPI, HTTPException, Request
from fastapi.responses import JSONResponse
from fastapi.exceptions import RequestValidationError
from routers import router
app = FastAPI()
async def http_exception_handler(request: Request, exc: HTTPException) -> JSONResponse:
return JSONResponse(
status_code=exc.status_code,
content=exc.detail)