본문 바로가기

Python/FastAPI

[FastAPI] RESTful API 예시 (feat docs)

간단한 REST API 및 Docs 자동화

 

간단하게 FastAPI로 REST API를 작성하고 실행해보자

# hb.py
from fastapi import FastAPI

fastapi = FastAPI()


@fastapi.get("/")
async def main():
    return {"message": "main"}


@fastapi.get("/test")
async def test():
    return {"message": "test"}

 

위와 같이 hb.py 파일을 만들고 가상환경에서 uvicorn hb:fastapi --reload 명령어 입력 시 아래와 같이 실행된다.

  • hb : 실행하는 파이썬 파일명
  • fastapi : 파이썬 파일에 정의된 FastAPI 애플리케이션 인스턴스명

즉 hb.py 파일의 fastapi 애플리케이션을 실행하라는 의미

 

이제 웹에서 localhost:8000 으로 접속해보면 아래와 같이 코드에서 작성한 메시지가 출력된다.

 

 

 

Docs

localhost:8000/docs로 접속해보면 내가 작성한 함수에 대한 파라미터, 리스폰스 등이 정의된 문서가 생성된다.

 

해당 페이지에선 테스트 기능도 제공한다. 함수를 보면 Try it out이 있는데 클릭 후 excute 버튼을 누르면 API를 테스트해볼 수 있다.

 

만약 기본으로 제공하는 문서가 마음에 들지 않으면 /redoc에 접근하여 커스터마이징 할 수도 있으니 참고하자

 

또한 터미널을 보면 내가 어떤 IP에서 어떤 API가 호출됐는지 로그가 찍혀있다. uvicorn을 사용했을 때 장점이다.

'Python > FastAPI' 카테고리의 다른 글

[FastAPI] 파라미터 (작성중)  (0) 2024.11.10
[FastAPI] HTTP 메서드 구현 기본  (0) 2024.11.10
[FastAPI] FastAPI 기초 문법  (0) 2024.11.07
[FastAPI] REST와 CRUD  (0) 2024.11.06
[FastAPI] 개발 환경 구성  (1) 2024.10.28