jupyter nbconvert --to script FastAPI.ipynb

uvicorn main:app --reload

CORS

웹 페이지는 동일한 출처(도메인, 프로토콜, 포트가 모두 일치하는 경우)의 리소스에만 접근할 수 있습니다. 이를 "동일 출처 정책"이라고 합니다. 하지만 실제 웹 개발에서는 다른 출처의 API, 이미지, 스크립트 등을 사용해야 하는 경우가 많습니다. 이 때 CORS가 필요합니다.

서버 프록시(proxy)

서버 프록시는 클라이언트와 서버 사이에서 중개자 역할을 하는 서버

React 환경에서는 주로 개발 서버에 프록시 설정을 추가하여(http-proxy-middleware 패키지 이용) API 서버와의 통신 시 CORS 문제를 해결하는 데 사용됩니다.

🔁 차이 요약

항목 BaseModel Optional
용도 데이터 구조 및 검증 정의 필수 여부 제어 (None 허용)
사용 위치 클래스 정의 필드 또는 함수 인자 타입
FastAPI 활용 요청 본문(JSON)을 받을 때 사용 BaseModel 안에서 선택적 필드 정의
예시 class User(BaseModel): age: Optional[int] = None

🔍 함께 쓰는 경우