
유데미 FastAPI - The Complete Course 2023 강의를 듣고 정리한 내용입니다.

이 포스트는 유데미 강의 FastAPI 강의를 듣고 정리한 글입니다.'이번 시간에는 지난번에 이어 book project2 를 진행할 계획이다.GET, POST, PUT, DELETE 리퀘스트 메소드는 계속 사용하되프로젝트2에서는 데이터 유효성 검사(Data Valid

FastAPI 로 파이썬 프로젝트를 진행할 때 가상환경을 설치하라는 말을 들어봤을 겁니다. 파이썬 프로젝트를 할 때 가상환경을 설치하는 이유는 여러 가지가 있습니다. 가상환경은 프로젝트별로 독립된 파이썬 실행 환경을 만들어 줍니다. 이를 통해 다음과 같은 이점을 얻을

Pydantic은 데이터 모델링과 데이터 파싱, 그리고 효율적인 에러 핸들링을 가능하게 하는 라이브러리로 널리 알려져 있습니다. 특히, 데이터 검증 및 FastAPI 애플리케이션으로 들어오는 데이터를 처리하기 위해 자주 사용됩니다.Pydantic을 사용하는 가장 기본

데이터 fetch 를 실습하기 전에 우리는 pydantic 을 사용해서 데이터를 Validation 할 수 있었다. 이때 데이터모델의 메타데이터를 Config 클래스를 통해 설정할 수 있다. 메타데이터란 데이터를 위한 데이터로 데이터를 하기 위해 사용된다.아래 코드를

이번에는 put 요청을 통해 지난번 실습했던 책 프로젝트에서 해당하는 id의 책을 업데이트 하려고 한다./books/update_book 의 주소로 설정한다. 전체 리스트의 길이만큼 반복하면서 만약 put 요청을 한 책의 id 와 같다면 해당하는 리스트 id 의 책을

이번에는 DELETE 요청을 통해 기존 실습의 책 리스트에서 삭제하는 연습을 해볼 것이다.동적 path parameter 를 통해 BOOKS 리스트 중 동적 경로 매개 변수 book_id 와 일치하는 book을 리스트에서 pop 해준다.스웨거에서 id에 3을 넣고 실행

지난 실습에서 Field 정의를 통한 데이터 검증은 진행했으나 실제 각각의 엔드포인트에서의 검증은 진행하지 않았다. 예를 들어 아래 코드와 같은 상황에서 book_id 가 존재하지 않을 경우에 대한 처리를 한다고 하고, book_id 에 유효성 검사(양수이거나 특정

상태코드는 클라이언트를 돕기 위해 사용된다. 서버 측 응용 프로그램에 무엇이 일어났는지 알기 위해서 말이다.상태코드는 국제 표준이다.우리가 웹에서 리소스를 요청할 때 상태코드를 통해 요청한 사람에게 결과를 알게 해줄 수 있다. 상태코드는 시작하는 수에 따라 분류할 수

지난 실습에 이어 FastAPI 애플리케이션 book project 에서 HTTP 예외 구현하는 방법을 알아보자. 이를 위해 우선 fastapi 에서 HTTPException 을 임포트한다. 추가를 했다면 지난번 프로젝트에 이어만약 id 로 책을 검색할 때 책을 찾을

이번에 프로젝트3에 들어가며 새로운 프로젝트를 진행할 것이다. 프로젝트 1, 2 에서는 books 프로젝트를 진행하였으나 이번에는 Todo Table 을 만들 것이다.데이터베이스와 인증, 허가, 패스워드 알고리즘을 메인으로 학습할 것이다.우리의 애플리케이션이 Todo

데이터베이스 모델을 생성할 것이다.TODO 테이블에서 필요한 속성은 id(기본키), title, description, priority, complete 의 속성이 있다.따라서 우선 models.py 를 생성하고 모델 클래스를 정의할 것이다.지난 시간에 만든 datab

todo 프로젝트를 위해 SQLite3 를 사용할 것이다.이를 위해 sqlite3 를 설치해야하는데우선 터미널에 brew list 를 입력하여 sqlite3 가 설치되어 있는지 확인한다.(홈브루가 없다면 홈브루 먼저 설치하기!- 구글에 홈브루 설치치면 자세히 나온다.)

모델 기반 메타데이터는 bind=engine 으로 create_all한다. models.Base.metadata.create_all(bind=engine)

사용자는 새로운 사용자 요청을 받아 인증과 권한 부여 해야함 인증과 승인 논리를 작업 논리와 섞이면 보기 힘듦. 따라서 다수의 로직 만들것이다. 클린성과 유지ㅣ가능성위해 앱 스케일 어떻게 할지 살펴보자 지금 main 이 너무 두꺼워서 router 로 따로 파일 생성

현재 인증 로직을 담당하는 auth.py 파일은 다음과 같다.여기서 우리가 할 것은 비밀번호 해싱을 구현하는 것이다.해싱의 이유는 패스워드 암호화(Encryption)는 데이터베이스에 저장된 사용자 인증 정보를 안전하게 보관하는 데 필수적이기 때문이다.참고로 model

오늘은 지난 시간에 이어 TodoProject 를 진행할 것이다.지난 시간에는 유저 생성 시 비밀번호 해싱, db 에 add 하는 방법을 배웠다. 이번 시간에는 토큰 기반 인증을 배워볼 것이다.우선, 가상환경 내부에서 python-multipart 를 설치한다.pyth