다음을 실행하면 FastAPI를 위한 여러가지가 설치된다.
(아래에 나오는 uvicorn도 함께 설치된다.)
pip install "fastapi[all]"
# main.py
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Hello World"}
위 코드로 파일을 만들면 get request를 하면 {"message": "Hello World"} 이라는 json을 뱉는 서버를 만들어준다.
간단하게 돌려보려면 터미널에 다음과 같이 입력하면 된다.
uvicorn main:app --reload
uvicorn은 uvicorn을 실행한다는 것이고 (uvicorn에 대한 자세한 정보는 https://www.uvicorn.org/)
main은 api 파일 이름,
app은 FastAPI() 변수 이름,
--reload는 개발용으로 파일 수정이 있을 시 자동으로 restart 해주라는 뜻이다.
이러면 디폴트로 localhost:8000라는 주소에서 api가 돌아간다.
https://localhost:8000/docs 에 접속하면 각각의 엔드포인트에 대한 목록을 볼 수 있고 request를 넣어 볼 수도 있다.
@app.get("/")
root directory ("/") 에서 get request를 기다린다는 뜻이다.
python decorator를 이용한다.
async def root():
return {"message": "Hello World"}
바로 위 엔드포인트에 request가 들어왔을 때 실행할 함수를 정의한다.
보통 웹을 이용한 코드를 짤 때는 async(비동기) 함수를 사용한다.