프로그래밍/Fast API

Fast API 설치해서 간단히 hello world 보기

Dibrary 2022. 11. 21. 09:50
반응형

안녕하세요 Dibrary입니다.

이번에는 Fast API를 간단히 정리해보겠습니다.

먼저 아래 사이트를 방문하면 Fast API에 대해 더 자세히 알아보실 수 있습니다.

 

FastAPI

FastAPI FastAPI 프레임워크, 고성능, 간편한 학습, 빠른 코드 작성, 준비된 프로덕션 문서: https://fastapi.tiangolo.com 소스 코드: https://github.com/tiangolo/fastapi FastAPI는 현대적이고, 빠르며(고성능), 파이썬

fastapi.tiangolo.com

 


간단히 설명드리면, 말 그대로 '빠른' 파이썬 프레임워크입니다.

빠른 이유는 아래 이미지를 보시면 어느정도 이해가 될 수 있습니다.

 

Fast API는 크게 Starlette와 Pydantic으로 구성되어 있고, 그 기저에 Cython으로 구성되어 있습니다.

여기서 중요한 것은 Uvicorn이라는 것을 쓰는데, 이 Uvicorn이 ASGI이고, Uvloop을 사용하기 때문에 빠릅니다.

 

GitHub - MagicStack/uvloop: Ultra fast asyncio event loop.

Ultra fast asyncio event loop. Contribute to MagicStack/uvloop development by creating an account on GitHub.

github.com

 

아무튼 빠르다는 것은 알았고, REST API든 Fast API든 사용하는 방법을 알아야 재미나게 코딩을 해볼 수 있겠죠?

 


Fast API의 장점중 또 다른것은 공식문서가 정말 잘 되어 있다는 것입니다. 

간단히 Hello World만을 출력하는 것 역시 공식문서에 잘 나와있죠.

코드 구성은 Flask를 다루는 것과 크게 다르게 느껴지지 않습니다.

정말 간단하게만 해 놓았습니다. 그냥 접속해보면 "Hello":"World"가 나올것이고,
name을 넣으면 "name"으로 나오겠죠.

 

결과를 한번 보겠습니다. 우선 실행하니 아래와 같은 문구가 조금 나왔습니다.

뭐 uvicorn으로 실행했고, 0.0.0.0에 8000포트라고 하네요.

 

접속한 화면은 아래와 같습니다.

first 함수의 반환값이 나온 모습
name을 넣은 경우

 

정말 간단하죠? 여기서 html화면 렌더링을 하면 말 그대로 웹 서버로 손색이 없을 겁니다.

 

위에서 지정한 경로 외에 docs라고 입력해서 들어가면 아래와 같은 화면이 나옵니다.

이 화면을 통해 값을 넣어보고, 반환값을 확인해 볼 수 있습니다. 

 

물론, 다른 REST API 테스트 도구를 사용해도 같은 결과를 받을 수 있습니다.

예를 들어, 저는 insomnia를 쓰는데, 

아까 입력한 이름처럼 똑같은 결과가 반환되는 것을 볼 수 있습니다.

728x90
반응형