[FastAPI] 2. 간단한 FastAPI 애플리케이션 만들기

미니딩거·2023년 8월 23일
0

fastapi

목록 보기
2/3
post-thumbnail

이제 간단한 FastAPI 애플리케이션을 만들어 보자! 이번 포스팅에 목표는 FastAPI를 경험해 보는 것에 있다. 추가적인 내용은 앞으로 같이 더 알아가보자.

1. 프로젝트 디렉토리 만들기

먼저 애플리케이션을 만들 디렉토리를 만들어 준다.

mkdir todos
cd todos
  • todos라는 이름의 디렉토리를 만들어 주고 해당 디렉토리로 이동해 준다.
  • 그리고 초기 세팅을 진행해 준다.

⚙️ 초기세팅 : https://velog.io/@minydinger/FastAPI-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0

2. 라이브러리 및 패키지 설치

방금 만들어진 디렉토리 안에 아래 필요한 의존 라이브러리와 패키지를 설치한다.

  • fastapi: 애플리케이션을 구축하기 위한 프레임워크
  • uvicorn: 애플리케이션을 실행하기 위한 비동기 방식 (서버 게이트웨이 인터페이스)

설치 전, 앞서 만든 프로젝트 폴더에서 가상 개발 환경을 활성화한다.

▶  가상 환경 활성화 명령어

  • for Mac
source venv/bin/activate
  • for Windows
venv\Scripts\activate

가상환경이 활성화 되었다면 의존 라이브러리를 설치한다.

▶  라이브러리 설치 명령어

pip install fastapi uvicorn

3. FastAPI 새 인스턴스 생성

이제 해당 프로젝트 안에 api.py라는 파일을 만들고 FastAPI의 새 인스턴스를 생성해 준다.

# api.py
from fastapi import FastAPI

app = FastAPI()

4. 초기 라우트(Route) 설정

새 인스턴스인 app 변수에 라우트를 생성해 줄 수 있다.

*데코레이터를 사용해서 처리 유형을 정의하고 라우트가 호출되었을 때 실행할 처리를 작성해준다.

참고) 데코레이터는 함수나 메서드의 기능을 수정하거나 확장하는 역할을 하는 함수이다

# api.py
from fastapi import FastAPI

app = FastAPI()

@app.get("/")
async def welcome() -> dict :
    return {
        "message": "Hello World"
    }

위 코드는 GET 유형의 요청을 받아 "Hello World"라는 메세지를 반환하는 초기 라우트를 설정하는 코드이다.


5. 애플리케이션 시작

앞서 설치한 uvicorn을 활용한 아래 명령어를 실행해 애플리케이션을 시작할 수 있다.

uvicorn api:app --port 8000 --reload

uvicorn의 지정 인수는 아래와 같다.

  • [file_name]:[instance] : FastAPI 인스턴스가 존재하는 파이썬 파일과 FastAPI 인스턴스를 가지고 있는 변수를 지정한다
  • --port [PORT] : 애플리케이션에 접속할 수 있는 포트 번호를 지정한다
  • --reload : 선택적 인수로, 파일이 변경될 때마다 애플리케이션을 재시작한다

6. 테스트

애플케이션이 제대로 실행되고 있는지 테스트를 해야 한다.

새로운 터미널을 열러 아래 명령어를 입력하여 GET 요청을 보낸다.

curl http://127.0.0.1:8000

그러면 아래와 같은 메시지를 출력받을 수 있다.

{"message":"Hello World"}



마무리

이렇게 이번 포스트에서는 간단하게 FastAPI를 찍먹해 보며 FastAPI가 어떻게 작동하는지 확인해 보았다.

다음 포스트에서는 FastAPI의 라우팅을 더 자세히 살펴보자 🙌🏻


참고자료: FastAPI를 사용한 파이썬 웹 개발 (한빛미디어)

profile
안녕하세요! 개발자 미니딩거 입니다:D

0개의 댓글