Company logo
  • Jobs
  • Bootcamp
  • About Us
  • For professionals
    • Home
    • Jobs
    • Courses and challenges
    • Questions
    • Teachers
    • Bootcamp
  • For business
    • Home
    • Our process
    • Plans
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Calculator

0

193
Views
FastAPI validation error on response_model

I have an FastAPI server that communicates with another API server (Lumen) to retrieve data, basically it only proxies the routes to the Lumen server.

Inside Lumen routes we have some validation rules and when we pass invalid body request it fails and returns 422 error code and a message. The problem is that my Fast API endpoint returns a response_model for the request in particular, so when a validation error occurs it tries to return the response model and the server fails because the code and message fields doesn't exist in our response_model

@router.post("/products/offers", response_model=OfferSearchResult, operation_id="offer_search")
async def offer_search(
    body: OfferSearchRequest,
    context: AppContext = Depends(get_context),
    max_per_product: Optional[conint(ge=1, le=100)] = Query(None, alias="maxPerProduct"),
    sort_by: Optional[OfferSort] = Query(None, alias="sortBy"),
) -> OfferSearchResult:

    offer_search_result = await OfferService(context).get_offers(body, max_per_product=max_per_product, sort_by=sort_by)
    return offer_search_result   

I tried to solve this by overriding validation_exception_handler but didn't work, how can I return that Lumen's validation error message to return as a fastAPI response?

8 months ago ยท Santiago Trujillo
Answer question
Find remote jobs