FastAPI는 API를 만들기 위한 Python 웹 프레임워크이다.
같은 Python 웹 프레임워크에는 Django와 Flask가 있는데, 이들은 주로 웹 서비스를 만들 때 사용한다. FastAPI는 API를 만드는 것에 집중한 프레임워크이다. FastAPI로 작성한 API는 React나 Vue.js와 같은 Frontend 웹 프레임워크에서 사용할 수 있고, 안드로이드나 아이폰 앱에서도 사용할 수 있다. 만약 Django나 Flask로 웹 서비스를 만들었다면, 이에 목적에 맞도록 API 개발을 따로 해야 한다.
FastAPI는 Python 웹 프레임워크 중 가장 빠르다고 알려졌는데, 이는 FastAPI가 Starlette이라는 비동기 프레임워크를 사용하기 때문이다.
API 개발은 보통 입출력 스펙을 정하고 기능을 구현한 후 테스트하는 순서로 진행한다. FastAPI는 Pydantic을 통해 입출력을 정의하고 입출력 값이 검증을 빠르고 안전하게 할 수 있다. 그리고 작성한 API는 Swagger를 통해 테스트 할 수 있다.
FastAPI는 Django와 같이 자체 ORM(Object Relational Mapping)을 제공하지 않는다. 하지만 SQLAlchemy를 사용하여 ORM을 사용할 수 있다.