새로 이직한 회사에서 Python의 FastAPI를 사용하고 있어 FastAPI에 대해 알아보았습니다. 기존 코드를 이해하기 위해 API 구현 관련 기능들을 앞으로 알아볼 계획입니다. 이번 포스트에서는 FastAPI가 무엇인지 정리해 보았습니다.
FastAPI란?
- FastAPI는 파이썬으로 API를 빌드하기 위한 웹 프레임워크이다.
- Starlette를 사용하여 다른 파이썬 웹 프레임워크보다 빠른 성능을 보인다.
Starlette
- 다른 파이썬 웹 프레임워크(Flast, Django 등)보다 가볍고 강력한 프레임워크이다.
- 내부적으로 uvicorn을 사용해서 빠르다.
uvicorn
- uvloops와 httptools를 사용하는 초고속 ASGI 서버이다.
- ASGI: Asynchronous Server Gateway Interface
-> FastAPI는 uvicorn, Starlette를 직접 사용하는 것보다는 느리지만, 간단한 웹 어플리케이션을 만들기 위한 간편한 도구를 제공해서 생산성 측면에서 매우 도움이 된다.
FastAPI의 편의 기능 - API Document 자동 생성
/docs
- 자동으로 생성된 Swagger UI API 문서를 확인할 수 있다.
/redoc
- 자동으로 생성된 Redoc 문서를 확인할 수 있다.
/openapi.json
- JSON으로 표현된 OpenAPI 스키마를 확인할 수 있다.
// example
{
"openapi": "3.0.2",
"info": {
"title": "FastAPI",
"version": "0.1.0"
},
"paths": {
"/items/": {
"get": {
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
...
728x90
'기타' 카테고리의 다른 글
3년차 주니어 개발자가 읽어 본 [데이터 엔지니어를 위한 97가지 조언] (0) | 2023.11.30 |
---|---|
[Python/FastAPI] 1. API 정의 - HTTP Request (2) (0) | 2023.03.17 |
[Python/FastAPI] 1. API 정의 - HTTP Request (1) (0) | 2023.03.16 |
댓글