Я создал отдельный класс с параметрами
Код: Выделить всё
from fastapi import Query, HTTPException
class PaginatedParams(BaseModel):
page: Annotated[int, Query(1, description='Page number')]
size: Annotated[int, Query(10, description='Number of records per page')]
def validate(self):
if self.page < 1:
raise HTTPException(
status_code=HTTPStatus.BAD_REQUEST,
detail="Page number must be greater than 0",
)
if self.size < 1:
raise HTTPException(
status_code=HTTPStatus.BAD_REQUEST,
detail="Size number must be greater than 0",
)
Код: Выделить всё
from fastapi import APIRouter, Depends, HTTPException, Query
@router.get(
'/search',
response_model=dict[str, list[FilmsListApi] | int | str],
description='Search films by its title.',
)
async def search_films(
params: PaginatedParams = Depends(PaginatedParams),
query: str = Query('', description='The keywords for searching films'),
film_service: FilmService = Depends(get_film_service),
) -> dict[str, list[FilmsListApi] | int | str]:
введите здесь описание изображения
Я пробовал менять код разными способами, но ничего не добился. Я думаю, что проблема может заключаться в каком-то месте, о котором я не знаю.
Подробнее здесь: https://stackoverflow.com/questions/777 ... ntic-model