목차
참고 : 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에서 ? 뒤에 붙는 부분은 쿼리 파라미터 또는 쿼리 스트링이라고 합니다. 웹 서버에 특정 데이터를 전달하는 데 사용합니다. 여러 쿼리파라미터가 있을 경우에는 '&' 기호로 구분됩니다.
- 이 값은 선택적인 값입니다. 따라서 필수적인 요소에는 동적 라우팅(경로 변수)을 사용하고, 선택적인 요소에는 쿼리 파라미터를 사용합니다.
- @app.get("/items/{item_id}") 처럼 { } 안에 변수로 담겨 동적 라우팅이 가능합니다.
- http://127.0.0.1:8000/docs 로 접속하면 작성한 함수에 대한 실행결과를 확인할 수 있습니다.
- http://127.0.0.1:8000/ 접속
'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 |