
이번 주에는 월, 화 휴일에 금요일 내 개인 사정으로 빠져서 뭔가 쓸 게 별로 없음 ㅎ
수요일 학습 내용
1. 라우터 (Router)
FastAPI에서 라우팅은 @app.get(), @app.post() 등 HTTP 메서드 데코레이터로 구현됨.
각각의 경로에 대해 함수를 연결하며, 모듈화(APIRouter)를 통해 기능별 분리도 가능.
예시: from fastapi import FastAPI app = FastAPI() @app.get("/") def read_root(): return {"message": "Hello FastAPI"}
2. 의존성 (Dependency)
FastAPI는 의존성 주입(Dependency Injection) 기능을 제공함.
Depends()를 이용해서 보안, 공통 로직, DB 연결 등을 깔끔하게 관리 가능.
일반적인 패키지 의존성은 pip과 requirements.txt로 관리함.
# DB연결 예제
from fastapi import FastAPI, Depends
app = FastAPI()
def get_db():
db = {"name": "fake-db"}
try:
yield db
finally:
print("DB연결 종료")
@app.get("/users")
def read_users(db = Depends(get_db)):
return {"db_name" : db["name"]}
목요일 학습 내용
1. 미들웨어 (Middleware)
- FastAPI에서는 @app.middleware("http")를 사용해 HTTP 요청 전후에 동작하는 함수를 정의할 수 있음.
- 요청 처리 시간 측정, 로깅, 에러 처리 등 다양한 용도로 사용 가능.
2. CORS (Cross-Origin Resource Sharing)
- 브라우저 보안 정책으로 인해 다른 출처의 요청을 제한하는 것을 해결하는 설정.
- fastapi.middleware.cors.CORSMiddleware를 이용해 쉽게 설정할 수 있음.
app.add_middleware(
CORSMiddleware,
allow_origins = origins, # 허용할 Origin
allow_credentials = True, # 쿠키 인증 허용 여부
allow_methods = ["*"], # 허용할 HTTP 메서드 (전부 허용)
allow_headers = ["*"], # 허용할 Header
)
실습


내 폰으로도 API 접속해보았다.
폰으로 파이썬 하는 것 같아서 신기방기 ㅎㅎ
본 후기는 [한글과컴퓨터x한국생산성본부x스나이퍼팩토리] 한컴 AI 아카데미 (B-log) 리뷰로 작성 되었습니다.
'HANCOM AI ACAMEMY > 학습일지 🗒️' 카테고리의 다른 글
| [스나이퍼팩토리] 한컴AI아카데미 17주차 (1) | 2025.05.23 |
|---|---|
| [스나이퍼팩토리] 한컴AI아카데미 16주차 (0) | 2025.05.16 |
| [스나이퍼팩토리] 한컴AI아카데미 14주차 (2) | 2025.05.02 |
| [스나이퍼팩토리] 한컴AI아카데미 13주차 (1) | 2025.04.22 |
| [스나이퍼팩토리] 한컴AI아카데미 12주차 (0) | 2025.04.17 |
댓글