#질문 목록 리턴
def get_question_list(db: Session):
question_list = db.query(Question)\\
.order_by(Question.create_date.desc())\\
.all()
return question_list
#quesiton_id에 해당하는 질문을 조회하여 리턴하는 함수
def get_question(db: Session, question_id: int):
question = db.query(Question).get(question_id)
return question
@router.get("/list", response_model=list[question_schema.Question])
def question_list(db: Session = Depends(get_db)):
_question_list = question_crud.get_question_list(db)
return _question_list
@router.get("/detail/{question_id}", response_model=question_schema.Question)
def question_detail(question_id: int, db: Session = Depends(get_db)):
question = question_crud.get_question(db, question_id=question_id)
return question
question_list()
는 스키마 구조에 따른 데이터를 리스트로 받아와서 질문 목록을 리턴한다.
question_deatail()
은 리스트로 받아오지 않는다.
파라미터를 꼭 입력해줘야 한다.
<script>
import fastapi from "../lib/api";
export let params = {};
let question_id = params.question_id;
let question = {};
function get_question() {
fastapi("get", "/api/question/detail/" + question_id, {}, (json) => {
question = json;
});
}
get_question();
</script>
<h1>{question.subject}</h1>
<div>
{question.content}
</div>
fastapi 함수를 사용할 수 있도록 import하고 질문 상세 API 를 호출하는 get_question 함수를 만들었다. 그리고 get_question 함수를 호출하여 질문 상세 API의 출력 값(json)을 question 변수에 저장했다. question 변수는 질문 한 건에 대한 상세 정보이므로
{}
로 초기화 해야 한다.