python_fastapi

강의 2: 기본 라우팅 및 엔드포인트 설정

알세지 2024. 5. 27. 23:14

강의 2: 기본 라우팅 및 엔드포인트 설정

강의 목표

  • 라우팅의 개념을 이해하고, 기본 엔드포인트를 설정합니다.
  • 간단한 라우트를 통해 API 응답을 제공합니다.

준비물

  • 이전 강의에서 설정한 FastAPI 프로젝트

실습 예제

1. 라우팅의 개념

라우팅은 클라이언트의 요청 URL을 특정 함수에 매핑하여 적절한 응답을 반환하는 과정입니다. FastAPI에서는 @app.get, @app.post 등의 데코레이터를 사용하여 라우트를 설정합니다.

2. 기본 엔드포인트 설정

  1. main.py 파일을 열고, 새로운 라우트를 추가합니다.

     from fastapi import FastAPI
    
     app = FastAPI()
    
     @app.get("/")
     def read_root():
         return {"Hello": "World"}
    
     @app.get("/greet")
     def greet():
         return {"message": "Welcome to FastAPI!"}
    
     if __name__ == "__main__":
         import uvicorn
         uvicorn.run(app, host="127.0.0.1", port=8000, reload=True)
  2. 서버를 실행합니다.

     uvicorn main:app --reload
  3. 브라우저를 열고 http://127.0.0.1:8000/greet에 접속하여 "Welcome to FastAPI!" 메시지를 확인합니다.

3. 동적 라우팅

동적 라우팅을 통해 URL에 변수를 포함시킬 수 있습니다.

  1. main.py 파일에 아래의 라우트를 추가합니다.

     @app.get("/greet/{name}")
     def greet_name(name: str):
         return {"message": f"Hello, {name}! Welcome to FastAPI!"}
  2. 서버를 재시작하고, 브라우저에서 http://127.0.0.1:8000/greet/John에 접속하여 "Hello, John! Welcome to FastAPI!" 메시지를 확인합니다.

추가 실습

  • 더 많은 라우트를 추가해보세요. 예를 들어, /about 페이지를 만들어보세요.

      @app.get("/about")
      def about():
          return {"message": "This is the about page."}
  • 브라우저에서 http://127.0.0.1:8000/about에 접속하여 새로운 페이지를 확인합니다.

이제 기본적인 라우팅과 엔드포인트 설정을 할 수 있습니다. 다음 강의에서는 HTTP 메서드를 다루고, 다양한 요청을 처리하는 방법을 학습할 것입니다.