FastAPI에 대해

Error Coder·2023년 5월 15일
0

FastAPI?

  • 파이썬 표준 타입 힌트에 기초한 파이썬 3.6이상의 API를 빌드하기 위한 고성능의 웹 프레임워크
  • 개발자의 오류 감소
  • 쉽게 사용할 수 있도록 설계되어 있음
  • 짧은 코드도 작성이 가능
  • 마이크로소프트, 우버, 넷플릭스 등 여러 초거대기업에서 사용해 검증된 프레임워크
  • Starlette, Pydantic을 통해 NodeJS 및 Go와 대등할 정도의 높은 성능
  • 대부분의 웹 서비스 처리를 위해 Starlette를 사용하고, 데이터 처리는 Pydantic을 사용함

FastAPI 설치

pip install fastapi
pip install uviconrn

  • 프로덕션을 위해 Uviconrn 또는 Hypercorn 같은 ASGI 서버가 필요함
  • ASGI(Asynchronous Server Gateway Interface)\

FastAPI 시작

main.py 파일 생성 후, 다음과 같이 작성

from fastapi import FastAPI
import uvicorn

app = FastAPI()

@app.get("/")
def read_root():
	return {"Hello" : "World"}
    
@app.get("/user/{name}")
def read_user_name(name:str):
	return {"name" : name}
    
if __name__ == "__main__"
	uvicorn.run("main:app")
    

다음과 같이 Uvicorn 서버가 실행됨

작성한 api대로 127.0.0.1:8000, 127.0.0.1:8000/user/ted로 접속해본다. 다음과 같이 정상적으로 화면이 보이는 걸 확인 할 수 있다.

실행 서버 정보를

if __name__ == "__main__":
	uvicorn.run("main:app")

와 같이 코드로 작성하지 않고, 터미널에서 명령어를 통해 서버를 실행할 수도 있다.

uvicorn main:app --reload

127.0.0.1:8000/docs로 접속하면, 앞서 작성한 api의 목록을 확인할 수도 있다.

profile
개발자 지망생

0개의 댓글