[FastAPI] 파이썬 웹 프레임워크

gpg·2023년 8월 9일

FastAPI

목록 보기
2/2

FastAPI 공부하면서 기존 파이썬 웹 프레임워크(ex. D.jango, Flask)와의 차이점을 중심으로 정리




가장 대표적인 파이썬 웹 프레임워크로 D.jango, Flask가 있으며, 주로 웹 서비스 개발에 사용한다. 반면, FastAPI는 API를 만드는 데 집중된 프레임워크이다.

(1) 범용적으로 사용 가능하다.

FastAPI로 작성한 API는 React, Vue.js 등 Front-end 웹 프레임워크에서도 사용할 수 있고, Android, iOS 앱에서도 사용할 수 있다.

만약 D.jango나 Flask로 웹 서비스를 만들었다면, 이에 대응하는 Android나 iOS 앱을 위한 API 개발을 별도로 해야 하지만, FastAPI로 만든 API는 여러 클라이언트에서 변경없이 사용할 수 있다.

(2) 빠르게 작성 가능하다.

API 개발은 보통 입출력 명세서를 정하고, 기능을 구현한 후에 테스트 하는 순서로 진행된다. FastAPI는 입출력을 정의하고 입출력 값 검증을 빠르게 실행할 수 있다. (Pydantic)

또한, 작성한 API는 자동으로 생성되는 API 웹 문서를 통해 쉽게 테스트 할 수 있다. (Swagger)

  • Pydantic: 입출력 항목을 정의하고 검증한다. 참고 링크
  • Swagger: API 스펙 문서를 자동화 한다. 참고 링크

(3) 테스트 가능한 API 문서

FastAPI로 작성한 API는 API 사용법에 관한 문서를 따로 작성할 필요가 없다. API 문서가 자동으로 생성되기 때문이다. API 문서는 웹 페이지 형태로 제공되며 API 동작을 테스트 할 수 있다.

(4) 데이터베이스

FastAPI는 Django처럼 자체 ORM(Object Relational Mapping)을 제공하지 않는다. 하지만, SQLAlchemy를 사용하여 ORM을 사용할 수 있다.

  • SQLAlchemy: 파이썬에서 가장 많이 사용되는 ORM 라이브러리. 참고 링크

(5) API 패턴화

입출력 정의, 입출력 값을 검증하는 패턴이 정형화되어 있다. 여기에, 정의된 입출력을 통해 API 문서가 자동으로 생상된다.

profile
[Code.ZIP] macOS - install, setting, tutorial

0개의 댓글