DBILITY

fastapi framework 기본 실습 본문

python

fastapi framework 기본 실습

DBILITY 2026. 5. 13. 10:05
반응형

https://fastapi.tiangolo.com/ko/

 

FastAPI

FastAPI framework, high performance, easy to learn, fast to code, ready for production

fastapi.tiangolo.com

 

"FastAPI는 현대적이고, 빠르며(고성능), 파이썬 표준 타입 힌트에 기초한 Python의 API를 빌드하기 위한 웹 프레임워크"라고 한다

 

우선 빠르게 작성할 수 있는 것을 보고 연습삼아 해 본다. 최종 목표는 머신러닝 모델을 서비스하는 것이다.

패키지를 설치한다.

pip install fastapi[all] uvicorn

개발툴의 자동완성기능도 좋아져 타이핑 몇번이면 샘플도 만들어 준다.

from fastapi import FastAPI

app = FastAPI()

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

unvicon으로 실행을 해보니 다음과 같은 메시지가 나온다.

fastapi는 ASGI(Asynchronous Server Gateway Interface)를 python으로 구현한 uvicorn web server와 함께 비동기적인 형태로 동작한다.

PS C:\Dev64\workspace\python_execise> uvicorn api01:app --reload
INFO:     Will watch for changes in these directories: ['C:\\Dev64\\workspace\\python_execise']
INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO:     Started reloader process [25356] using WatchFiles
INFO:     Started server process [31508]
INFO:     Waiting for application startup.
INFO:     Application startup complete.

Intellij IDEA의 RestfulTool로 Request를 해봤다.

실행창에 요청처리 메시지가 출력된다

INFO:     127.0.0.1:62058 - "GET / HTTP/1.1" 200 OK

Restfultool의 Response에 결과가 출력된다. 

{
  "Hello": "World"
}

python환경이 설치되어 있다면 별도의 거시기 머시냐 목업서버를 대체할 수 있겠다.

소스코드를 수정후 저장하니 메시지를 출력하며 reload가 되었다

WARNING:  WatchFiles detected changes in 'api01.py'. Reloading...
 INFO:     Shutting down
INFO:     Waiting for application shutdown.
INFO:     Application shutdown complete.
INFO:     Finished server process [31508]
INFO:     Started server process [13700]
INFO:     Waiting for application startup.
INFO:     Application startup complete.

 

반응형
Comments