FastAPI 시작하기
신규 프로젝트에서 Python을 이용하여, Backend API를 만들기 위해 여러가지를 찾아보았다.
Flask도 유명하지만, 더 최근에 나온 FastAPI를 도입해보기로 결정하였다.
FastAPI는 공식 홈페이지가 친절한 편임!
https://fastapi.tiangolo.com/ko/ -> 읽어보고, Python 문법만 알고 있다면 누구나 가능할 것이다!
먼저 전체적인 구조를 만들어 준다.
필자와 같은 경우는, MVC 구조를 참조하여 만들었다.
왜냐하면 실제 프로젝트에서는 각각의 페이지에 따라 공통적인 .py 를 만들어서 가독성을 좋게 하기 위해서다.
API에 있어서 보통 (common), controller, router,model 의 구조로 하려고 했으나, 추가적으로 middleware, db, config, common 등 부가적으로 필요할 수 있기 때문에 미리 만들어 두었음. -> 왼쪽 캡쳐 구조
필자는 다른 프로젝트를 연습하면서, 기존의 (common), controller, router,model 의 구조를 하나 더 생성하였다.
-> 오른쪽 캡쳐
폴더 구조는 개인 스타일이 있지만, 리팩토링 혹은 유지보수에 있어서, 확장성 및 분리를 간편하게 하기 위해서 기능 별로 나누는 것이 좋다고 생각한다.
필자의 구조는 위의 캡쳐와 같음. (오른쪽은 도커 파일도 포함)
그리고 python은 필수적으로 연결을 하기 위해, 각 폴더 속에 __Init__.py를 꼭 넣어줄것!!!!!!!
그 외 .venv(가상환경), .env , readme, gitignore , requirements.txt 같은 것은 필수적으로 미리 넣기를 바란다!
구조가 만들어졌다면, github에 저장소를 만들어서 연결할 것!
간단히 git 연결법을 소개하자면,
1. git config --global user.name "ooo"
git config --global user.email example@example.com
-> 다른 계정이 이미 연결되어 있을 수 있으니, 사용하려는 계정으로 변경 해줄것!
2. 그 이후, 이미 생성된 .gitignore, readme.md, app/, requirements.txt 를 각각 git add [ ] 를 통해 더해줌
3. git remote add origin https://~~~ [본인의 github 주소]
4. git brach -M main
-> main 브랜치 생성
5. git commit -m "first commit"
-> 첫번째 commit 을 해줌.
6. git push -u origin main
-> main 브랜치에 push 해주면 완성! (원격 분기가 생겼음을 볼 수 있음)