작은 규모의 서비스를 개발한다면 서버와 클라이언트 간 호출이 대부분일 것이다. 하지만 더 큰 서비스가 될 수록 서버와 서버간 HTTP 호출이 필요해진다. 서버 아키택처가 MSA와 같은 형태라면 정말 많이 사용할 것이다. Spring boot에서는 다른 서버의 API endpoint를 호출할 때 RestTemplate을 많이 쓴다. 이 글에서는 RestTemplate을 활용하여 다른 서버를 호출하는 서비스 예제를 다뤄볼 것이다. 시작하기 전에, RestTemplate을 잘 모른다면 여기를 참고하자. 이 예제는 JAVA 11로 작성되었으며 프로젝트의 전체 내용은 Github에 공유되어있다. 1. 설정하기먼저 Spring boot를 사용하기 위해 build.gradle을 아래와 같이 설정한다.plugins {..
부제: NOSQL 모듈화 경험기. 나는 다룰줄 아는 언어가 JAVA 밖에 없다. 그래서 요즘 JavaScript를 열심히 보고 있다 ㅎㅎ. 내 생각에는 JAVA와 JavaScript는 완전히 다른 언어이다. 그리고 굉장히 매력적인 언어라고 생각한다. 내가 프로그래밍 언어를 JavaScript로 접했으면 좋았겠다는 생각도 한다. 금요일에 휴가도 썼겠다.. 3일간에 뭘 만들어볼까 고민을 해봤는데, 야구선수 데이터를 활용한 간단한 선수 추천 앱같은 것을 만들어보고 싶었다. 그런데 문제는.. KBO는 OPEN API를 제공하지 않는다.... 나는 phantom.js와 같은 고오급 기술은 사용하지 않았다. request, cheerio 모듈을 활용했다. 닭잡는데 소잡는 칼이 나설 필요는 없으니까! ㅎㅎㅎㅎ 다음 ..
Spring Boot를 활용하여 Restful 서버 개발을 하다보면, 다른 API를 호출할 일이 종종 생기는데, RestTemplete을 활용하면 좋다고한다. 나는 GPS 좌표(경도, 위도)를 파라미터로 하여 호출할 경우, 주소(도로명 및 지번주소)를 돌려주는 API를 활용하기로 했다. https://developers.naver.com 에서 위 그림과 같은 명세를 찾을 수 있다. (다른 API를 활용하는 경우에도 참고하길 바란다.) 나같은 경우, 안내된 URL로 GET요청을 날려야 했는데 NAVER에서 제공하는 JAVA 예제는 너무 길고 불편했다. 그래서 RestTemplete를 활용하기로 했는데, 구글링하면 대체로 getForObject, getForEntity를 활용하는 방법을 소개한다. 아래의 소..