작성
·
90
답변 1
0
안녕하세요 봄봄님. 기다려주셔서 감사합니다. 늦게나마 답변드립니다!ㅠㅠ
강의 소스코드를 예로 들면 getFeedbackListFromFirestore
나 addFeedbackToFirestore
함수를 서버나 클라이언트 단에서 직접 호출하고 있습니다. 이렇게 BaaS에서 제공하는 함수를 직접 호출하면 편리하기도 하고 직접 통신할 수 있다는 장점이 있습니다.
다만 다른 API 서버나 BaaS를 함께 사용하는 경우, 호출하는 방식이 각각 달라 통일성을 해칠 수 있고 엔드포인트를 숨기고 싶은 경우도 있을 수 있습니다. 이 경우에 BaaS 호출을 api routes로 옮기면 좋습니다. 호출부를 한 번 감싸면, 클라이언트 단에서 fetch('/api/feedback')
처럼 직관적인 url로 통일시킬 수 있습니다. 또한 서버에서 실행되기 때문에 엔드포인트를 숨길 수 있다는 장점도 있습니다. 다만 말씀하신대로 next.js api routes 통신이 한 번 추가되는 것이기 때문에 cold start를 하거나 서버 성능이 좋지 않다면 응답이 조금 느려질 수도 있습니다.
상황에 따라 적절히 사용해주시면 좋을 것 같습니다! 감사합니다 :)