본문 바로가기

카테고리 없음

FastAPI(2) - FastAPI 기초

반응형

코드 실행

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파일도 반환이 가능

 

반응형