s e o p p o r t . l o g

Today I Learned

2024. 03. 21. TIL - 백엔드 api의 응답 활용하기

Seo Ji Won 2024. 3. 31. 19:47

 

예약 페이지에서의 예약 완료와 동시에 예약완료 페이지로 넘어가서 방금 예약한 정보를 띄워주어야 했다.

문제는 테이블에서 예약 정보의 아이디는 데이터베이스에서 자동으로 생성되는데,

방금 예약 정보의 아이디를 어떻게 알아낼 수 있는지에 대한 고민이 있었다.

해결 방법은 간단했다.

해결책은 Supabase가 insert 연산 후 생성된 row의 데이터를 응답으로 반환한다는 점을 활용하는 것이었다.

API 호출 결과에서 예약 ID를 추출하여 URL에 포함시킨 후, 예약 완료 페이지에서는 이 ID를 사용해 DB에서 예약 정보를 가져와 출력하는 방식으로 문제를 해결했다.

 

 // result: supabase의 응답으로 받아온 제출한 예약 정보
      const result = await submitReservation(reserveInfo);
      if (!result) {
        alert('예약 도중 오류가 발생했습니다. 잠시 후 다시 시도해주세요,');
        return;
      }
      router.push(`reserve/${result.reserve_id}`);
    }
    return;