파이썬 ( Python ) - FastAPI 배워보기
소개
FastAPI 란?
Python을 사용하여 빠르게 웹 API를 쉽게 구축할 수 있게 해주는 웹 프레임워크입니다.
특징
- 고성능 : 매우 빠른 성능 제공
- 자동문서화 : Swagger UI와 ReDoc을 통해 API 문서 생성
- 간단한 개발 : 빠르고 간단한 개발을 가능하게 하는 직관적인 디자인
가상환경 구축
window
1
2
3
4
5
# python -m venv 가상환경이름
python -m venv myenv
# 가상환경활성화 : 가상환경이름\Scripts\activate
myenv\Scripts\activate
mac
1
2
3
4
5
# python3 -m venv 가상환경이름
python3 -m venv myenv
# 가상환경활성화 : 가상환경이름/bin/activate
source myenv/bin/activate
밑 코드를 통해 현재 가상환경이 활성화 됐는지 확인할 수 있다. 활성화 되지 않았다면 빈 줄이 출력된다.
1
2
3
4
5
# windows
echo %VIRTUAL_ENV%
# mac
echo $VIRTUAL_ENV
첫걸음!!
fastapi 설치
1
pip install fastapi
main.py 파일 구성
1
2
3
4
5
6
7
8
# main.py 파일 만들기
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
return {"message":"Hello World"}
서버 실행
1
uvicorn main:app --reload
- main은 Python 파일의 이름
- app은 FastAPI 인스턴스의 이름입니다.
- —reload 옵션은 코드 변경 시 자동으로 서버를 재시작합니다. 개발 중에 매우 유용
브라우저에 localhost:8000
으로 접속하면 밑과 같은 화면이 나오면 성공!
localhost:8000/docs
로 접속시 api 문서도 확인가능!
다양한 api 구축방법
경로 매개 변수 방식
파이썬의 포맷 문자열 리터럴에서 사용되는 문법을 이용하여 경로 “매개변수” 또는 “변수”를 선언 할 수 있다.
1
2
3
4
5
6
7
8
9
# main.py 파일 만들기
from fastapi import FastAPI
app = FastAPI()
@app.get("/items/{item_id}")
# async def read_item(item_id: int): 매개변수 타입을 활용할 수 있다.
async def read_item(item_id):
return {"item_id": item_id}
경로의 {item_id}
의 값은 함수 item_id
인자로 전달됩니다.
localhost:8000/item_id/test
로 접속시 화면에 test 출력 확인가능
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.