[FastAPI] Router 질문
안녕하세요 작성해주신 점프 투 FastAPI 강의를 하나씩 해보고 있는 중에 안되는 부분이 생겨 질문 좀 올려봅니다..
02-04-1 라우터 부분을 따라하는데 /api/question/list로 요청하면 404 Not Found가 뜨네요..
오타는 확인해봤는데 없고.. docs를 들어가보면
No operations defined in spec! 이 뜹니다.
제가 드는 의심은 import 하면서 domain.question을 인식을 못하는 거 같은데 명확한 이유는 잘 모르겠어서 질문드려봅니다..
main.py
# FastAPI 프로젝트의 전체적인 환경을 설정하는 파일
import uvicorn
from fastapi import FastAPI
from starlette.middleware.cors import CORSMiddleware
from domain.question import question_router
app = FastAPI()
origins = [
"http://127.0.0.1:5173"
]
app.add_middleware(
CORSMiddleware,
allow_origins=origins,
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
app.include_router(question_router.router)
if __name__ == "__main__":
uvicorn.run("main:app", host="0.0.0.0", port=8000, reload=True)
domain>question>question_router.py
from fastapi import APIRouter, Depends
from sqlalchemy.orm import Session
from database import get_db
from domain.question import question_schema
from models import Question
router = APIRouter(
prefix='/api/question',
)
@router.get("/list", response_model=list[question_schema.Question])
def question_list(db: Session = Depends(get_db)):
_question_list = db.query(Question).order_by(Question.create_date.desc()).all()
return _question_list
cd.biahn 님 1312
2023년 6월 13일 5:39 오후
댓글 2개 더 보기...
@cd.biahn님 실행하실때 main.py가 있는 디렉터리에서 python main.py로 실행하지 말고 다음의 명령어로 실행해 보세요.
uvicorn main:app --reload
-
박응용님,
2023년 6월 13일 6:02 오후
추천
,
대댓글
@박응용님 python main.py 로 실행한거 종료하고 터미널에서 uvicorn main:app --reload 로 실행해도 여전히 해당 경로를 못찾고있습니다 ㅠ
-
cd.biahn님,
2023년 6월 13일 6:18 오후
추천
,
대댓글
@cd.biahn님 해당 경로를 못찾는다는건 오류가 발생한다는 건가요? 오류가 있으면 해당 오류를 보여주시면 좋을것 같습니다.
-
박응용님,
2023년 6월 13일 6:41 오후
추천
,
대댓글
@박응용님 /api/question/list로 요청해보면 404 not found가 뜨고 docs에서도 안보입니다 main에 다시 살려둔 hello만 보입니다
-
cd.biahn님,
2023년 6월 13일 6:44 오후
추천
,
대댓글
+1
@박응용님 자답 하겠습니다 왜인지 모르겠는데 제 소스의 @router.get("/list", response_model=list[question_schema.Question]) 부분에서 @ 어노테이션이 빠져서 router.get("/list", response_model=list[question_schema.Question]) 이렇게 되어있었네요.. 어노테이션 추가하니까 바로 됐습니다
-
cd.biahn님,
2023년 6월 14일 11:13 오전
추천
,
대댓글