FastAPI에서 오류 처리 사용자 정의
질문:
잘못된 JSON 요청을 보낼 때 FastAPI 백엔드를 사용하는 경우 처리할 수 없는 엔터티 상태 코드(422)와 함께 오류가 발생합니다. 응답에는 사용자 친화적인 오류 처리에 적합하지 않은 자세한 오류 세부 정보가 포함되어 있습니다. 오류 응답을 사용자 정의할 수 있는 방법이 있습니까?
답변:
이 상황을 처리하고 오류 응답을 사용자 정의하려면 FastAPI에서 요청 검증 예외 처리기를 재정의할 수 있습니다. . 구현 방법은 다음과 같습니다.
먼저 잘못된 JSON을 전달하므로 서버는 422 Unprocessable Entity 오류로 올바르게 응답합니다.
예외 처리기 재정의 :
<code class="python">@app.exception_handler(RequestValidationError) async def validation_exception_handler(request: Request, exc: RequestValidationError): return JSONResponse( status_code=status.HTTP_422_UNPROCESSABLE_ENTITY, content=jsonable_encoder({ "detail": exc.errors(), # optionally include the errors "body": exc.body, "custom msg": {"Your error message"} }), )</code>
PlainTextResponse 반환:
또는 사용자 정의 메시지를 반환할 수도 있습니다. PlainTextResponse를 사용한 오류 메시지:
<code class="python">@app.exception_handler(RequestValidationError) async def validation_exception_handler(request, exc): return PlainTextResponse(str(exc), status_code=422)</code>
위 내용은 FastAPI에서 잘못된 JSON 요청에 대한 오류 응답을 사용자 정의하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!