Inflearn brand logo image

인프런 커뮤니티 질문&답변

봄봄님의 프로필 이미지
봄봄

작성한 질문수

Next.js 시작하기(feat. 지도 서비스 개발)

API Routes

API 라우터를 사용해야 하는 경우에 대해

작성

·

90

1

파이어베이스와 수파 베이스 를 사용하고 있습니다.

API 폴더에 해당 통신 로직을 정의해서 사용하면 보안과 API 명세에 대한 로직을 잘 관리 할 수 있다는 것을 강의내용을 통해 알았습니다

BAAS 서비스를 이용하면 API 폴더에 넣고 관리하게 된다면 통신 로직이 중복되는 것같은데

API -> BBAS 통신

이럴 경우 어떻게 사용하는게 좋은지 궁금합니다!!

답변 1

0

박용주님의 프로필 이미지
박용주
지식공유자

안녕하세요 봄봄님. 기다려주셔서 감사합니다. 늦게나마 답변드립니다!ㅠㅠ

강의 소스코드를 예로 들면 getFeedbackListFromFirestore 나 addFeedbackToFirestore 함수를 서버나 클라이언트 단에서 직접 호출하고 있습니다. 이렇게 BaaS에서 제공하는 함수를 직접 호출하면 편리하기도 하고 직접 통신할 수 있다는 장점이 있습니다.

다만 다른 API 서버나 BaaS를 함께 사용하는 경우, 호출하는 방식이 각각 달라 통일성을 해칠 수 있고 엔드포인트를 숨기고 싶은 경우도 있을 수 있습니다. 이 경우에 BaaS 호출을 api routes로 옮기면 좋습니다. 호출부를 한 번 감싸면, 클라이언트 단에서 fetch('/api/feedback') 처럼 직관적인 url로 통일시킬 수 있습니다. 또한 서버에서 실행되기 때문에 엔드포인트를 숨길 수 있다는 장점도 있습니다. 다만 말씀하신대로 next.js api routes 통신이 한 번 추가되는 것이기 때문에 cold start를 하거나 서버 성능이 좋지 않다면 응답이 조금 느려질 수도 있습니다.

상황에 따라 적절히 사용해주시면 좋을 것 같습니다! 감사합니다 :)

봄봄님의 프로필 이미지
봄봄

작성한 질문수

질문하기