목록FastAPI (2)
The Boxer
fastapi를 공부하면서 의존성을 주입할 때 어떻게 처리되는지 궁금하여 공부한 내용을 정리한다. 의존성 관리 기존에 내가 사용하던 nestjs 프레임워크는 프레임워크 자체에서 DI container를 내장하고 있었고, provider를 통해 container 등록하여 사용하던 방식이었다. fastapi는 조금 다른것으로 보인다. 따로 DI container는 존재하지 않으며, 요청이 들어오면 요청에 대한 처리를 위해 필요한 의존성만 주입받는다. 의존성 주입이 가능한 객체는 callable한 객체이며, 실행을 통해 리소스를 반환해야 한다. 기본 작동 원리 main.py from typing import Union from fastapi import FastAPI,Depends from service im..
fastapi는 어플리케이션을 실행하는 시점에 swagger 페이지를 기본으로 생성해준다. controller를 등록하면 해당 endpoint에 대한 spec을 fastapi에서 자동으로 swagger 페이지에 등록해주며, 다양한 설정 또한 가능하다. 다만, swagger 페이지 자체를 fastapi에서 관리하여 커스터마이징이 어렵다. swagger 페이지에 http 기본 인증을 추가하는 방법을 알아본다. 1. 기본 인증을 적용한 endpoint 생성 fastapi에서 http basic auth를 위한 HTTPBasic, HTTPBasicCredentials 라이브러리가 있다. 두 라이브러리를 사용하여 기본 인증 구현 from fastapi.security import HTTPBasic, HTTPBas..