다보리 - 백엔드 살펴보기
백엔드 내부 흐름도
다보리 백엔드에서는 프론트엔드가 요청을 하게되면
Router -> Middleware -> Controller -> Handler(Controller도 Model도 되는 애매모호한 함수들이 서로 호출하며 결과값 도출) -> Model 순으로 가며 Controller에서 데이터베이스의 값들을 Json형식으로 변환 후 프론트엔드로 보낸다.
백엔드 main_api 설치해보기
MAIN_API 설치 방법!
1. WSL을 설치합니다.
2. 아이디와 비밀번호를 지정하여 서버에 접속합니다.
3. home 경로에 새로운 백엔드를 설치할 디렉토리를 생성합니다.
cd /home
mkdir main_api
4. 생성이 됐으면 main_api 폴더로 들어갑니다. (cd main_api)
5. wget http://dbr02-wget.daboryhost.com/main_api.tar.gz 를 입력
(wget은 웹페이지에서 파일을 다운로드하기 위한 도구)
설치가 완료되었으면 아래 디렉토리들이 존재하는지 확인해주세요.
(1). cache-key-pair
(2). weberp-go
(3). weberp-queries
(4). mybin
6. 파일들이 전부 존재하면 디렉토리 접근 후 실행파일 가동하여 서버 시작합니다
1. cd weberp-go
2. ./weberp-go
MAIN_API와 프론트엔드 연결하기
Docker(프론트엔드)와 로컬(백엔드)에 각각 띄웠다는 가정하에 설명을 시작하겠습니다
.env.dabory
MAIN_API_URL='http://host.docker.internal:18080' <- URL만 수정해주면 됩니다.
MAIN_API_URL = host.docker.internal:(포트)
프론트엔드 애플리케이션이 Docker 컨테이너에서 실행되고, 백엔드 서버는 로컬(호스트 머신)에서 실행될 때
- Docker 컨테이너 내부에서
localhost
를 사용하면 컨테이너 자기 자신을 참조하게 됩니다. - 프론트엔드가 Docker 컨테이너에서 실행되고, 백엔드 서버는 로컬(호스트 머신)에서 실행될 때.
MAIN_API_URL= localhost:(포트)
Docker를 사용하지 않는 순수 로컬 개발 환경이라면 이렇게 사용
ThunderClient로 통신 테스트
url = http://localhost:18080/gate-token-get
body에 키 값 넣고 (ClientId, Base64) 게이트 토큰 받기 -> 게이트토큰 발급 후 헤더에 넣어서 엔드포인트 요청 -> 요청이 돌아오면 성공