# app/domain/answer/router.py
from fastapi import APIRouter, Depends, HTTPException, status
from sqlalchemy.orm import Session
# 1. 공통 모듈 (절대 경로)
from app.database import get_session
# 3. 현재 도메인 내부 모듈 가져오기 (상대 경로)
from app.domains.answer import crud, schemas
# 2. 다른 도메인 가져오기 (as 키워드로 충돌 방지! 🌟)
from app.domains.question import crud as question_crud
router = APIRouter(prefix="/answers", tags=["answers"])
api = APIRouter(prefix="/api/answers", tags=["answers/api"])
# 🛠️ URL에서 /create를 빼고, 상태 코드는 실제 상황에 맞게 조정합니다.
@router.post(
"/{question_id}",
status_code=status.HTTP_201_CREATED,
response_model=schemas.Answer,
)
def create(
question_id: int,
answer_in: schemas.Create,
session: Session = Depends(get_session),
):
# ① 충돌 없이 question_crud를 사용하여 질문이 진짜 존재하는지 검증합니다.
db_question = question_crud.get(session=session, question_id=question_id)
if not db_question:
raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail="질문을 찾을 수 없습니다.")
# ② 충돌 없이 answer_crud를 사용하여 답변을 생성합니다.
return crud.create(session=session, question_id=question_id, answer_in=answer_in)
본 공간은 인공지능(AI)이 도출한 방대한 지식을 일목요연하게 큐레이션하여 기록하는 블로그입니다. 기술적 한계로 인해 모든 정보의 완벽한 정확성을 보장하기는 어려우므로, 최종적인 판단과 책임은 독자 본인에게 있음을 정중히 안내해 드립니다.
2026년 7월 21일 화요일
app/domain/answer/router.py
database.py
import os from contextlib import contextmanager # contextmanager 임포트 from typing import Generator from dotenv...
-
bool atob(const char * string) { if (!strcmp(string, "true")) return true; return false; }
-
/// CXXXView.cpp void CXXXView::OnInitialUpdate() { CView::OnInitialUpdate(); // TODO: Add your specialized code here and/or call the ...
-
WxWidgets: http://www.wxwidgets.org/downloads/ MinGW: http://sourceforge.net/projects/mingw/files/ * Microsoft Windows Environment Var...