mingkeJan 17, 2024FastAPI - Pydantic 에러 응답 변경 (feat.Exception Handler)FastAPI로 개발하면 pydantic을 통해 입력받은 데이터의 Validation을 하는 경우가 많습니다. pydantic에서 에러가 발생하면 422에러와 함께 pydantic에서 미리 정해놓은 에러 응답이 전송됩니다. 오늘은 이 부분을 내가 원하는대로 응답을 변경하는 방법을 알아보겠습니다.FastAPI
mingkeDec 22, 2023FastAPI - 나만의 FastAPI 라이브러리 만들기FastAPI는 microframework라서 개발하다보면 자유도가 참 높다고 느껴지는것 같습니다. 백엔드를 개발하는데 정말 필수적인 것들만 있고 나머지는 원하는 대로 만들어서 쓰면 되는것 같습니다.FastAPIPython
mingkeDec 4, 2023FastAPI - Gunicorn hooks 사용하기FastAPI Application을 배포할 때 일반적으로 Gunicorn을 많이 사용합니다. Gunicorn hooks를 소개하고, 최근 Gunicorn hooks를 사용한 경험을 공유하려고합니다.FastAPIGunicorn
mingkeDec 1, 2023FastAPI - PydanticCustomError 사용법FastAPI에서 Pydantic을 사용하면 기본적으로 유효성 검사에 실패했을 때 422에러를 발생시키고 정해진 응답을 반환합니다. 하지만 PydanticCustomError를 사용해서 Error를 커스텀 할 수 있습니다.FastAPIPydantic
mingkeNov 29, 2023FastAPI - FastAPI 유효성검사 Pydantic Validator 사용해서 데이터 유효성 검사하기Pydantic은 Python용 데이터 유효성 검사 라이브러리입니다. FastAPI에서 많이 사용됩니다. Pydantic은 데이터 모델을 정의하고 해당 모델의 유효성을 검사할 수 있습니다. Pydantic을 사용하면 더욱 안전하고 효율적인 API 개발이 가능합니다.FastAPIPydantic
mingkeNov 22, 2023FastAPI - Redis 캐시 사용하기FastAPI에서 Redis를 사용하는 방법에 대해서 간단하게 알아보겠습니다. 운영하고 있는 서비스 중에 전기차G - 전기차 충전소 찾기 가 있습니다. 공공API를 사용해서 전기차 충전소 위치와 충전기 정보를 제공하는 서비스 입니다.FastAPIRedis
mingkeNov 20, 2023FastAPI - Swagger에 Authorize 생성하기최근에 FastAPI로 API를 개발하던 중에 Authentication을 middleware로 구현하여 추가를 하였습니다. 그리고나서 생각해보니 Swagger에서 API를 실행해 볼 때도 인증이 들어가야 했습니다. FastAPI Swagger에서 Authorize 버튼을 만들어 Header에 key를 담아 실행할 수 있는 방법에 대해 알아보겠습니다.FastAPISwagger
mingkeNov 16, 2023FastAPI - Custom Exception Handler 사용하기FastAPI에서 커스텀 Exception Handler를 사용하는 방법을 알아보겠습니다. FastAPI API에서 다음과 같은 코드는 에러 응답을 반환합니다. FastAPI를 처음 쓸 때 HTTPException을 그냥 사용했었는데, status code와 detail message만 전달하니 함께 일하던 프론트엔드 동료가 error를 구분하기 어렵다고 구분할 수 있도록 code도 함께 넣어 전달해달라는 요청이 있었습니다.FastAPI
mingkeNov 16, 2023FastAPI - lifespan 사용하기FastAPI lifespan은 Application 시작과 종료까지의 기간을 의미합니다. 시작 이벤트와 종료 이벤트가 발생할 때 동작하는 로직을 구현하여 실행할 수 있으며, 시작 이벤트에서 발생한 리소스를 계속 유지할 수 있습니다.FastAPI
mingkeNov 12, 2023FastAPI - Async SQLALCHEMY 테스트 환경 구축하기테스트 코드의 중요성은 두 말하면 입이 아픈데요. SQLAlchemy를 비동기로 사용하면 테스트 환경을 구축하는 방법도 달라집니다. 오늘은 Pytest를 이용해서 SQLAlchemy를 비동기로 테스트하는 환경 구축을 공부해보겠습니다.FastAPIPytestSQLAlchemy