Kubernetes 이야기

fastapi 개발 환경 구성 본문

개발/python

fastapi 개발 환경 구성

kmaster 2023. 1. 22. 21:24
반응형

FastAPI는 표준 Python 유형 힌트를 기반으로 Python 3.7+로 API를 구축하기 위한 현대적이고 빠른(고성능) 웹 프레임워크이다.

 

주요기능

 

  • 빠름 : NodeJS 및 Go 와 동등한 매우 높은 성능 (Starlette 및 Pydantic 덕분에). 가장 빠른 Python 프레임워크 중 하나.
  • Fast to code : 개발 속도가 약 200% ~ 300% 향상.
  • 버그 감소 : 사람(개발자)이 유발한 오류를 약 40% 감소시킴.
  • 직관적 : 뛰어난 편집기 지원. 디버깅 시간 단축.
  • Easy : 쉽게 사용하고 배울 수 있도록 설계.
  • Short : 코드 중복을 최소화.
  • 표준 기반 : OpenAPI (이전에는 Swagger라고 함) 및 JSON Schema 와 같은 API용 공개 표준을 기반으로 함.

 

설치

 

1) 가상환경 구성

pipenv --python 3.11

2) fastapi 패키지 설치

pipenv install fastapi

 

테스트

 

main.py

from typing import Union

from fastapi import FastAPI

app = FastAPI()


@app.get("/")
def read_root():
    return {"Hello": "World"}


@app.get("/items/{item_id}")
def read_item(item_id: int, q: Union[str, None] = None):
    return {"item_id": item_id, "q": q}

실행

uvicorn main:app --reload # ( listen할 host를 지정할 경우에는 --host=0.0.0.0 )
INFO:     Will watch for changes in these directories: ['D:\\develop\\test']
INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO:     Started reloader process [19288] using WatchFiles
INFO:     Started server process [3580]
INFO:     Waiting for application startup.
INFO:     Application startup complete.

 

브라우저에서 호출해 보자.

 

127.0.0.1:8000/docs 를 호출하면 swagger문서가 보인다.

127.0.0.1:8000/redoc 을 호출하면 읽기 전용인 rest api 문서 redoc이 보인다.

 

반응형

'개발 > python' 카테고리의 다른 글

Loguru  (0) 2023.01.24
Fastapi 모범 사례  (0) 2023.01.22
Pipenv로 Python 가상환경 구성 및 패키지 관리하기  (0) 2023.01.22
centos7 python 3.8 설치  (0) 2022.05.03
Pod에서 python code 실행하기  (0) 2022.03.27
Comments