FastAPI

GreenBean·2022년 7월 25일
0
post-thumbnail

FastAPI

FastAPI란?

  • 파이썬 3.6+를 기반으로 빠르게 API 서버를 구축할 수 있게 하는 새로운 웹 프레임워크
  • Django에 비해 가벼우면서도 빠른 속도를 자랑

주요 특징

  • NodeJS 및 Go와 비슷한 성능, 현존하는 파이썬 웹 프레임워크 중 가장 빠름
  • 개발 속도가 빠름
  • 버그가 적음
  • 직관적
  • 간편
  • 코드 중복을 최소화
  • 견고하며 대화형 자동 설명서를 사용해서 실행 가능한 코드를 구축할 수 있
  • 개방형 API 표준 (OpenAPI&JSON) 을 기반으로 한다.

실행 예제

가상환경 설치 & 실행

# 가상환경 설치
$ python -m venv venv

# 가상환경 실행
$ source venv/scripts/activate # Windows
$ source venv/bin/activate # Mac

프레임워크 설치

# FastAPI 사용을 위한 설치
$ pip install fastapi 

ASGI 서버 설치

# 파이썬 서버실행기인 uvicorn 설치
# 순수 파이썬으로 작성된 uvicorn이 설치됨
$ pip install uvicorn

# Python과 C / C++ 로 작성된 uvicorn이 설치됨
$ pip install uvicorn[standard]

Tip! 참고 링크
Django: WSGI
WSGI & ASGI

main.py 작성

from fastapi import FastAPI # FastAPI 모듈 가져오기 

app = FastAPI() # 객체 생성


@app.get("/") # Route Path
def root():
    return {"Python": "Framework"} # JSON 타입으로 값 반환

서버 실행

# uvicorn을 통해 실행
$ uvicorn main:app --reload --port 8000
  • uvicorn : 파이썬 서버 실행을 위해 필요한 기본 명령어
  • main : 실행할 초기 파이썬 파일 이름
    • 위의 소스코드를 test.py 파일에 작성했을 경우, test:app 으로 변경하여 실행
  • app : FastAPI() 모듈을 할당한 객체명을 뜻함
    • practice = FastAPI() 일 경우, main.practice 로 변경하여 실행
  • reload : 소스코드가 변경되었을 때, 서버를 자동으로 재시작해주는 옵션
    • 개발단계일 때 유용하게 사용가능
  • port : 해당 포트번호를 통해 서버를 실행시켜주는 옵션
    • 포트 옵션을 생략시 자동으로 8000번 포트가 할당

Tip! 추가 자료
monologue: ASGI 웹 프레임워크 FastAPI 를 시작하며

profile
🌱 Backend-Dev | hwaya2828@gmail.com

0개의 댓글