|
1장. FastAPI 소개
1.1 FastAPI 개요 __1.1.1 클라이언트-서버 모델 __1.1.2 FastAPI 소개 __1.1.3 FastAPI의 발전 과정 1.2 FastAPI의 특징 __1.2.1 타입 힌트를 이용한 데이터 검증 __1.2.2 API 문서 자동 생성 __1.2.3 비동기 방식 지원 1.3 파이썬 웹 프레임워크 비교 __1.3.1 Flask __1.3.2 Django __1.3.3 Flask, Django, FastAPI 비교 1.4 실습 환경 설정 __1.4.1 파이썬 설치하기 __1.4.2 파이참 설치하기 __1.4.3 프로젝트 생성하기 __1.4.4 가상환경 만들기 __1.4.5 애플리케이션 실행하기 2장 FastAPI 시작하기 2.1 HTTP 개요 __2.1.1 요청 메시지 __2.1.2 응답 메시지 2.2 경로 다루기 __2.2.1 기본 사용법 __2.2.2 경로 변수 __2.2.3 엔드포인트 2.3 쿼리 파라미터 다루기 __2.3.1 기본 사용법 __2.3.2 쿼리 파라미터의 선택적 사용 2.4 Pydantic 다루기 __2.4.1 기본 사용법 __2.4.2 정상 값 검증 __2.4.3 비정상 값 검증 2.5 요청 본문 다루기 __2.5.1 기본 사용법 __2.5.2 Swagger UI 화면 구성 __2.5.3 경로 변수, 쿼리 파라미터, 요청 본문 혼합 사용 2.6 응답 본문 다루기 __2.6.1 기본 사용법 __2.6.2 상태 코드 3장. 기본 CRUD 구현하기 3.1 REST API 개요 __3.1.1 REST API의 개념 __3.1.2 REST API 설계 원칙 3.2 GET API: 전체 데이터 조회하기 __3.2.1 새 프로젝트 만들기 __3.2.2 응답 모델 정의하기 __3.2.3 전체 할 일 조회하기 3.3 GET API: 단일 데이터 조회하기 __3.3.1 단일 할 일 조회하기 __3.3.2 예외 처리하기 3.4 POST API: 데이터 생성하기 __3.4.1 생성 요청 모델 정의하기 __3.4.2 할 일 생성하기 3.5 PUT/PATCH API: 데이터 수정하기 __3.5.1 수정 요청 모델 정의하기 __3.5.2 할 일 수정하기 3.6 DELETE API: 데이터 삭제하기 __3.6.1 할 일 삭제하기 4장. 데이터베이스와 ORM 사용하기 4.1 데이터베이스 개요 __4.1.1 데이터베이스의 개념 __4.1.2 관계형 데이터베이스와 SQL __4.1.3 MySQL 4.2 데이터베이스 구축하기 __4.2.1 윈도우에 MySQL 설치하기 __4.2.2 맥OS에 MySQL 설치하기 4.3 ORM과 SQLAlchemy __4.3.1 ORM의 개념 __4.3.2 SQLAlchemy __4.3.3 SQLAlchemy와 데이터베이스 연결하기 4.4 ORM 모델 정의 및 테이블 생성하기 __4.4.1 ORM 모델 정의하기 __4.4.2 테이블 생성하기 4.5 ORM 활용하기 __4.5.1 전체 할 일 조회하기 __4.5.2 단일 할 일 조회하기 __4.5.3 할 일 생성하기 __4.5.4 할 일 수정하기 __4.5.5 할 일 삭제하기 5장. 회원가입 구현하기 5.1 회원가입 기능 설계하기 __5.1.1 회원가입이 필요한 이유 __5.1.2 회원가입 처리 과정 5.2 User 모델 만들기 __5.2.1 User 모델 설계하기 __5.2.2 ORM 객체 관계 이해하기 __5.2.3 User 모델 구현하기 __5.2.4 User 테이블 생성 5.3 라우터 구조화 __5.3.1 라우터의 개념 __5.3.2 Todo 라우터 분리하기 __5.3.3 User 라우터 추가하기 5.4 회원가입 API 구현하기 __5.4.1 요청 데이터 검증하기 __5.4.2 이메일 중복 검사하기 __5.4.3 비밀번호 해시 생성하기 __5.4.4 User 모델 생성 후 DB 저장하기 __5.4.5 응답 반환하기 6장. 로그인과 인증 구현하기 6.1 로그인과 인증 개요 __6.1.1 로그인의 개념 __6.1.2 인증의 개념 6.2 로그인 API 구현하기 __6.2.1 로그인 요청 모델 정의하기 __6.2.2 로그인 API 함수 구현하기 6.3 세션 방식으로 인증 구현하기 __6.3.1 세션 방식의 처리 과정 __6.3.2 세션 생성하기 __6.3.3 세션 기반 사용자 인증하기 __6.3.4 로그아웃 구현하기 6.4 JWT 방식으로 인증 구현하기 __6.4.1 JWT 방식의 처리 과정 __6.4.2 JWT의 기본 구조 __6.4.3 액세스 토큰 발급하기 __6.4.4 Authorization 헤더 기반 사용자 인증하기 __6.4.5 로그아웃 구현하기 __6.4.6 세션 방식과 JWT 방식 비교 7장. FastAPI 고급 기능 7.1 Lifespan __7.1.1 Lifespan 기본 사용법 __7.1.2 Lifespan 사용 예: 데이터베이스 초기화 __7.1.3 Lifespan 사용 예: 머신러닝 모델 로드 7.2 의존성 주입 __7.2.1 의존성 주입 방법 __7.2.2 데이터베이스 세션 주입하기 7.3 백그라운드 태스크 __7.3.1 백그라운드 태스크 기본 사용법 __7.3.2 백그라운드 태스크 사용 시 주의사항 7.4 파일 처리 __7.4.1 파일 업로드하기 __7.4.2 파일 저장하기 __7.4.3 파일 다운로드하기 __7.4.4 파일 처리 시 주의사항 |