목차
· FastAPI란?
· FastAPI 설치하기
· FastAPI 시작하기
FastAPI란?
· 파이썬 표준 타입 힌트에 기초한 파이썬 3.6 이상의 API를 빌드하기 위한 고성능의 웹 프레임워크
- 빠른 코드 작성이 가능하다.
- 개발자의 오류를 줄인다.
- 쉽게 사용할 수 있도록 설계되었다.
- 짧은 코드를 작성할 수 있다.
- 마이크로소프트, 우버, 넷플릭스 등 여러 기업에서 사용하여 검증되었다.
- Starlette와 Pydantic를 통해 NodeJS 및 Go와 대등할 정보로 높은 성능을 보인다.
▶ 대부분의 웹 서비스 처리를 위해 Starlette를 사용하고, 대부분의 데이터 처리를 위해 Pydantic을 사용하다.
▶ Starlette: 비동기 웹 서비스를 구축하는데 이상정인 경량 ASGI 프레임워크/툴킷 https://www.starlette.io/
▶ Pydantic: 파이썬 타입 애너테이션을 사용해서 데이터를 검증하고 설정들을 관리하는 라이브러리 https://pydantic-docs.helpmanual.io/
FastAPI 설치하기
$ pip install fastapi
$ pip install uviconrn
- 프로덕션을 위해 Uviconrn 또는 Hypercorn 같은 ASGI 서버가 필요하다.
▶ ASGI(Asynchronous Server Gateway Interface):
FastAPI 시작하기
· main.py 파일을 생성하고, 다음과 같이 작성한다.
from fastapi import FastAPI
import uvicorn
app = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World"}
@app.get("/user/{name}")
def read_user_name(name: str):
return {"name": name}
if __name__ == "__main__":
uvicorn.run("main:app")
다음과 같이 Uvicorn 서버가 실행된다.
작성한 api대로 127.0.0.1:8000, 127.0.0.1:8000/user/ted로 접속해본다. 다음과 같이 정상적으로 화면이 보이는 걸 확인 할 수 있다.
실행 서버 정보를
if __name__ == "__main__":
uvicorn.run("main:app")
와 같이 코드로 작성하지 않고, 터미널에서 명령어를 통해 서버를 실행할 수도 있다.
uvicorn main:app --reload
127.0.0.1:8000/docs로 접속하면, 앞서 작성한 api의 목록을 확인할 수도 있다.
출처
'파이썬 > FastAPI' 카테고리의 다른 글
[FastAPI] Response Model - 응답을 효과적으로 처리하는 방법 (0) | 2022.05.10 |
---|---|
[FastAPI] Request Object: HTTP Request에 직접 접근해 사용하는 방법 (0) | 2022.05.02 |
[Python] FastAPI의 APIRouter (0) | 2022.05.01 |
[Python] FastAPI 사용법 (2) | 2022.04.17 |
댓글