본문 바로가기
Web/FastAPI

FastAPI 기초

by 컴돈AI 2023. 12. 19.

목차

참고 : https://fastapi.tiangolo.com/

설치

    • pip install fastapi
      pip install uvicorn

예제

  • app 폴더를 생성해주고 그 안에 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 app.main:app --reload
      • app.main : app폴더 안에 main.py 파일
      • app : app = FastAPI()
      • --reload : 코드가 변경된 후 서버 재시작하기 (개발환경에서만 사용할 것)
  • 서버 실행 결과 
    • http://127.0.0.1:8000/ 접속
    • http://127.0.0.1:8000/items/1212?q=쿼리 접속
      • @app.get("/items/{item_id}") 처럼 { } 안에 변수로 담겨 동적 라우팅이 가능합니다.
        • URL의 일부를 변수로 취급하여 다양한 값에 대응할 수 있습니다.
        • /items/1 , /items/2 등의 요청이 모두 같은 경로로 매핑됩니다.
        • 경로 변수는 함수의 매개변수로 전달됩니다. 함수는 이 매개변수를 사용하여 요청을 처리합니다.
      • URL에서 ? 뒤에 붙는 부분은 쿼리 파라미터 또는 쿼리 스트링이라고 합니다. 웹 서버에 특정 데이터를 전달하는 데 사용합니다. 여러 쿼리파라미터가 있을 경우에는 '&' 기호로 구분됩니다.
        • 이 값은 선택적인 값입니다. 따라서 필수적인 요소에는 동적 라우팅(경로 변수)을 사용하고, 선택적인 요소에는 쿼리 파라미터를 사용합니다.
    • http://127.0.0.1:8000/docs 로 접속하면 작성한 함수에 대한 실행결과를 확인할 수 있습니다.

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

FastAPI vs APIRouter  (1) 2023.12.20
FastAPI 이론  (0) 2023.12.19
Visual Studio Code Python 초기 설정 (가상환경, Linter, Formatter, pip, .gitignore)  (0) 2023.12.15