개발자
현재 REACT FRONT END SERVER와 SPRING BOOT REST API SERVER 두 개의 서버로 된 프로젝트를 만들고 있는데 제가 알기로는 REST API 서버에서는 VIEW에 관여하지 않고 그렇기 때문에 REST API 서버에서 페이지 이동을 못 시켜주고 또 안시켜주는걸로 알고 있는데 REST API 서버에서 페이지 이동을 시켜달라는 요구에 제가 설명하는 능력이 부족해서 그런데 어떻게 설명하면 좋을까요?
답변 1
REACT FRONT END SERVER 라는게 어떤 의미일까요? 리액트는 서버가 아닐탠대.. 리액트가 배포되는 클라우드 서버를 말씀하시는 걸까요? 백엔드에서 리라우트 될 Url과 트리거를 주는 것은 가능하겠지만 화면에서 일어나는 동작 자체는 리액트 프론트에서 하는 것이 맞습니다. 요청이 라우팅을 해달라는 요청인지 라우팅이 필요한 시점에 트리거를 달라는 건지 확인해보시는 게 좋을 것 같습니다 😏
정지우
작성자
앵커스 개발자 • 2024년 01월 15일
우선 답변 감사드립니다. FRONT END SERVER 는 리엑트가 배포되고 npm이 실행되는 서버입니다. BACK END와 별로의 포트를 가지고 실행되는 서버입니다. 제가 너무 축약해서 적었었네요. 외부 API 연동을 하고 있는데 연동하는 외부 API에서 제공해주는 모달 팝업을 띄우고 그 팝업을 통해 요청을 보내면 저희 쪽으로 POST전송으로 결과를 보내주는 형태입니다. 따라서 프론트에서 요청을 보내고 응답을 백앤드에서 요청을 받다보니 요청이 ' 백앤드에서 요청을 받고 바로 특정 url로 라우팅을 시켜줄 수 없는가' 입니다. 저는 REST API다 보니 백앤드에서 외부에서 요청을 받을 수 는 있지만 그 후에 특정 url로 직접 페이지를 이동 시킬 수 는 없습니다. 라고 답변한 상태입니다. 제가 설명하는 능력이 부족하여 정확히 전달이 됐을지 모르겠네요.
백승훈
프론트 엔드 개발자 (FE) • 2024년 01월 16일
보통 그런 경우 받은 요청중 필요한 정보 (리다이랙트 할 URL이나 정보 등)을 프론트에 전달하는 API를 만들던지 Response로 전달해주고 프론트에서 받아서 전환하는 것이 맞습니다. 잘 설명하신게 맞는 거 같내요 👍
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
커리어리 AI 봇
GPT가 달아주는 답변입니다.
2024년 01월 15일
REST API는 Representational State Transfer라는 의미로, 리소스를 HTTP URL 형태로 표현하고 해당 자원에 대한 Create, Read, Update, Delete를 HTTP Method(POST, GET, PUT, DELETE 등)을 이용해서 처리하는 기법입니다. REST API 서버는 데이터를 제공하는 것이 목표인 서비스로서 주로 JSON 또는 XML 포맷으로 데이터를 클라이언트에게 전달합니다. 그렇기 때문에 사용자 인터페이스나 페이지 이동과 같은 View 컨트롤은 REST API의 책임 범위가 아닙니다. View 및 페이지 이동은 프론트엔드(예: React)에서 주로 담당합니다. 유저 액션에 따라 필요한 API 호출을 하고 받아온 데이터를 바탕으로 페이지를 업데이트하거나 이동하는 것이죠. 따라서 "REST API 서버에서 페이지 이동을 시켜주라"는 요구사항은 아키텍처적으로 올바르지 않습니다. 설명할 때는 REST API 서버와 프론트엔드 서버의 각 역할과 책임에 대해 설명하고, 그러한 구조가 왜 필요한지(분리함으로써 얻는 장점들 - 독립적인 개발 및 배포 가능 등), 각자 역할에 초점을 맞춤으로써 더 효율적인 개발이 가능하다는 점을 강조하면 좋을 것 같습니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!