본 포스팅은 인프런에서 제공하는 '실전! FastAPI 입문' 강의를 수강후에 정리 및 복습을 위해 작성하는 글입니다. 프로젝트 구조1. api/ 디렉토리api/ 디렉토리는 FastAPI 애플리케이션의 주요 API 엔드포인트를 정의하는 파일을 포함이 디렉토리에서 HTTP 요청을 처리하고, 비즈니스 로직을 처리한 후 응답을 반환todo.py: 할 일 목록(Todo) 관련 API 엔드포인트를 처리하는 파일user.py: 사용자 관련 API 엔드포인트를 처리하는 파일2. database/ 디렉토리database/ 디렉토리는 데이터베이스 연결 및 ORM(객체 관계 매핑) 설정을 처리하는 파일들로 구성되어 있음이 디렉토리의 파일들은 데이터베이스와의 상호작용을 정의, CRUD 작업을 수행connection.py: ..
공부/FastAPI
서론본 포스팅은 인프런에서 제공하는 '실전! FastAPI 입문' 강의를 수강후에 정리 및 복습을 위해 작성하는 글입니다.필자는 Mac ARM 기반 운영체제에서 진행했습니다.사용된 패키지1. fastapi설명: 현대적이고 빠른 Python 웹 프레임워크로, RESTful API 개발에 최적화되어 있으며 자동화된 문서화와 타입 기반 데이터 검증 제공.주요 용도: API 개발 및 배포.2. uvicorn설명: ASGI 서버로, FastAPI 및 Starlette와 같은 비동기 프레임워크의 실행을 지원.주요 용도: FastAPI 애플리케이션 실행.3. bcrypt설명: 비밀번호를 해싱하는 데 사용되는 강력한 암호화 라이브러리로, 안전한 비밀번호 저장을 위해 설계되었습니다.주요 용도: 비밀번호 해싱 및 검증.4..
이전 글FastAPI란?FastAPI는 비교적 최근에 출시된 파이썬 웹 프레임워크로 RESTful API를 빠르고 쉽게 개발할 수 있도록 설계되었음. Python 웹 프레임워크 중 높은 처리 속도를 자랑하며 API명세서를 자동으로 생성해주고 비동기 처리가 간단하다는 장점이 있음.FastAPI의 장점① 뛰어난 성능FastAPI는 Starlette(ASGI 프레임워크)와 Pydantic(데이터 검증 및 설정 라이브러리)을 기반으로 하며, **비동기 프로그래밍(Asynchronous Programming)**을 지원합니다.Node.js와 Go와 유사한 성능을 제공하며, Python 웹 프레임워크 중 높은 처리 속도를 자랑합니다.② 자동화된 문서화OpenAPI 스펙을 기반으로 자동 생성된 Swagger UI와 ..
서론그 동안 웹 개발을 해오면서 수 많은 api 에러코드를 보고 디버깅도 해 보았지만 정확하게 정리해보려 한 적은 없다. 이번 FastAPI 공부에 앞서 API Status Code를 정리해놓고 두고두고 보려 한다.Status Code2xx200 OK : 요청 성공, GET/POST/PUT/PATCH에서 범용적으로 사용201 Created : 요청 성공, 새로운 자원 생성, POST204 No Content : 요청 성공, 응답할 자원 없음, DELETE4xx400 Bad Request : 요청 실패, 요청이 잘못된 경우 (query param, body)401 Unauthorized : 인증 실패403 Forbidden : 권한 문제 또는 잘못된 메서드 > Spring Security에서 권한 없이..