반응형
코드 실행
uvicorn main:app --reload --host=0.0.0.0 --port=8000
코드 실행은 위 와 같이 합니다.
uvicorn은 ASGI 서버입니다.
main은 main.py, app은 FastAPI를 저장한 변수라 보면 됩니다.
--reload는 코드가 변경될 때마다 서버를 자동으로 재실행해주는 옵션입니다.
--host는 아이피 주소
--port는 포트 주소
FastAPI 설치
pip install "fastapi[all]"
요거 한줄이면 uvicorn로 포함하여 설치가 됩니다.
FastAPI의 OpenAPI 문서
127.0.0.1:8000/docs로 들어가시면 위와 같이 뜹니다.
저는 127.0.0.1이 아니라 제 서버 아이피 주소로 들어가서 했습니다.
저걸 펼치면
이와 같이 뜹니다.
/docs 말고도 /redoc도 있습니다.
코드 설명
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_index():
return {"Hello": "World"}
1은 FastAPI를 임포트
3은 FastAPI 인스턴스 생성 app은 변수이므로 아무 이름으로 하셔도 되긴 합니다.
5에서 /는 경로 입니다.
get("/")는 127.0.0.1:8000/
get("/login")이라면 127.0.0.1:8000/login이 된다
get()은 http 메소드를 나타냅니다.
get() 이외에 post(), put(), delete(), options(), head(), patch(), trace() 등등이 있습니다.
6은 함수입니다.
데코레이터(@app.get())아래에 있습니다.
7은 콘텐츠 반환입니다.
여기서는 json을 반환합니다.
html파일도 반환이 가능
반응형