Backend/FastAPI

FastAPI 시작하기

amelia-suyeon 2023. 6. 6. 20:40

신규 프로젝트에서 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 해주면 완성! (원격 분기가 생겼음을 볼 수 있음)