FASTAPI 시작하기
안녕하세요. 오랜만에 글을 써요!
제가 회사에서 이것저것 하느라 바빴습니다.
넥스트 유니콘 유망주 중에 한 회사에서 리드 파이썬 엔지니어로의 커리어를 쌓아가고 있습니다. 회사에 많은 프로젝트가 FastAPI로 되어 있는데요, 뭐 회사에서는 해당 오픈소스 Contributor도 계시고 많이 배우며 공부하고 있습니다.
하지만, 아직 공식문서도 한글로 번역이 다 되어 있지 않고, 정보도 많이 없는 것 같아서 프로덕션레벨로 현업에서는 어떻게 사용하고 있는지를 알려드리고 싶어서 프로젝트를 진행해 보려고 합니다. 이제 고작 1편이지만, 꾸준히 해보려 합니다. 간단하게 노티피케이션 서비스를 만들어 볼려구요.
제가 만들 서비스는 아래와 같습니다.
- 타겟은 이제 갓 스타트업이나 솔플하시는 프리랜서 분들 입니다.
- 뉴스레터 구독자 관리
- 뉴스레터 및 광고 이메일 발송
- 카카오톡 알림톡 발송
- 알림톡 및 뉴스레터 스케줄링
정도 입니다. 물론 무료! 또는 실비 정도? 만 받게 될 것 입니다.
시작해 볼께요!
아참, 시작하기 전에 Video 버전으로 보시고 싶으시면 아래에서 보실 수 있습니다.
1. FastAPI 공홈으로 Go!
FastAPI 대한 간단한 소개는 저의 다른 포스트에 되어 있습니다. 딩그르르 다른 글 보기
다시 몇 가지 이야기 하자면, pydantic을 이용한 밸리데이션 Starlette 을 기반으로한 비동기 API 서버 구축, OpenAPI를 이용한 Swagger 자동 생성 등이 있습니다. 아참, 괴물같은 퍼포먼스는 덤입니다!
2. 무작정 시작해 보기
Pycharm 을 사용할 예정입니다. 파이참은 Community 버전이 있다는 것! 아시죠?
파이참이 없으시다면 아래 링크에서 다운 받으실 수 있습니다.
우선 파이참에서 프로젝트를 만들어 주시고요. 아래처럼 Uvicorn 이랑 FastAPI 2가지만 설치해 주시면 끝!!
그리고 main.py 에 아래 내용을 복붙! 해주세요.
from typing import Optional from fastapi import FastAPI app = FastAPI() @app.get("/") def read_root(): return {"Hello": "World"} @app.get("/items/{item_id}") def read_item(item_id: int, q: Optional[str] = None): return {"item_id": item_id, "q": q}
이것만 해주면 끝납니다.
그리고 실행은 아래처럼 터미널에 입력해 주세요
uvicorn main:app --reload
이렇게 하시면 무작정 시작했지만 REST API 백엔드 서버를 만드셨습니다.
이렇게 간단하고 편한데.. 퍼포먼스까지 좋은 API 라니
3. 자동으로 만들어진 Swagger 맛보기
8000번 포트로 열렸을테니 http://127.0.0.1:8000 로 진입해주시면 "헬로월드" 를 만나실 수 있을 겁니다. 이제 http://127.0.0.1:8000/docs 로 가주세요! 아래와 같은 화면이 보이시나요?
지금까지 이거 없이 어떻게 살았나 싶을 정도로 편안합니다.
이상 프로젝트를 만들어 봤고, 다음 편에는 데이터 베이스를 연결해 보겠습니다.
- [[a.original_name]] ([[a.file_size | fileSizer]])