본문 바로가기
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