-
Poetry를 이용하여 FastAPI 구현하기 - 3Backend/FastAPI 2023. 6. 26. 16:13
앞의 초기 설정이 끝났다면, 전체적인 구조를 미리 만들어 주고, 실행하려는 app 속에 폴더를 미리 만들어 놓는 것을 추천함
-> 아주 작은 프로젝트 이기 때문에 mvc 구조로 간단하게 구성하였다 - > 이미지 참고
[간단한 폴더 설명]
common : 공통 사항 (함수 및 exception 관련)
controller : 매개 변수를 받아 함수 처리
model: request & response 모델 클래스를 정의
router : http 통신 - get/post/put/delete
※ app 간 연결을 위해 폴더 내 __init__.py를 꼭 생성해 둘 것! ※
[main.py] 설명
================ test ================ #
from fastapi import FastAPIfrom typing import Union
app = FastAPI()
@app.get("/")def root():return {"hello root"}
@app.get("/world")def world():return {"hello world"}
@app.get("/table/{item_id}")def read_item(item_id: int, q: Union[str, None] = None):return {"item_id": item_id, "q": q}
================ test ================ #먼저 간단하게 FastAPI가 잘 동작하는지 알아보기 위해, 로컬에서 위와 같은 방식으로 3개의 라우터만 만들어본다.
이후 -> localhost:8080으로 확인 가능하다!
-> 3개의 라우터가 잘 작동한다면, app이 정상적으로 구성되었다고 (아주 간략하게) 볼 수 있음.
만약 이때, 8080에 로그인 하라는 창이 나타나는 경우는 아래를 참고한다.
- > 이와 같은 경우는 8080 포트를 이미 다른 앱이나 웹에서 사용중인 것 !
[해결 방안]
cmd -> netstat -ano에 들어가서 0.0.0.0.8080 인 것의 pid를 찾고
작업 관리자에 들어가서 위 pid를 검색하고 작업 끝내기 하면 사용 가능!
다음 장에서는 본격 exception에 대한 정의 및 main.py 설정 법에 대해 기술하겠음!
'Backend > FastAPI' 카테고리의 다른 글
FastAPI - main.py 구성하기 (0) 2023.06.26 FastAPI에서 handling error - exception 정의 및 적용 (0) 2023.06.26 Poetry를 이용하여 FastAPI 구현하기 - 2 (0) 2023.06.26 Poetry를 이용하여 FastAPI 구현하기 - 1 (0) 2023.06.26 FastAPI 시작 전, Python 가상 환경 설정 (0) 2023.06.07