diff --git a/fastapi_crudrouter/core/_base.py b/fastapi_crudrouter/core/_base.py index e45d33fe..1dd64438 100644 --- a/fastapi_crudrouter/core/_base.py +++ b/fastapi_crudrouter/core/_base.py @@ -3,12 +3,16 @@ from fastapi import APIRouter, HTTPException from fastapi.types import DecoratedCallable +from pydantic import BaseModel -from ._types import T, DEPENDENCIES +from ._types import DEPENDENCIES, T from ._utils import pagination_factory, schema_factory -NOT_FOUND = HTTPException(404, "Item not found") +class NotFoundModel(BaseModel): + detail: str + +NOT_FOUND = HTTPException(404, "Item not found") class CRUDGenerator(Generic[T], APIRouter, ABC): schema: Type[T] @@ -126,7 +130,10 @@ def _add_api_route( ) -> None: dependencies = [] if isinstance(dependencies, bool) else dependencies responses: Any = ( - {err.status_code: {"detail": err.detail} for err in error_responses} + { + err.status_code: {"model": NotFoundModel} + for err in error_responses + } if error_responses else None )