2018. 2. 12. 16:43ㆍ서버 프로그래밍
Spring Boot에서는 RestTemplate을 이용하면 HTTP 통신이 쉽게 가능하다.
Consuming a RESTful Web Service
https://spring.io/guides/gs/consuming-rest/
Spring에서 RestTemplate을 사용하여 REST 기반 서비스 요청과 테스트하기
http://blog.saltfactory.net/using-resttemplate-in-spring/
Spring, RestTemplate으로 REST 클라이언트 구현하기
http://jsonobject.tistory.com/237
[컴][웹] Spring 에서 REST API 호출하기
http://i5on9i.blogspot.kr/2014/12/spring-rest-api.html
postForObject
Server 에서 RESTful API server 에 request 를 POST 방식으로 form 의 data 는 json 형식으로 보낼 때 방법. ElasticSearch 등을 사용할 때 활용할 수 있다. 혹시나 해서 적어놓는데, ElasticSearch 는 Java API 를 따로 제공한다.(참고)
@Override public JsonResult retrieve() { String JSONInput = ("{\n" + " \"aggs\": {\n" + " \"aggs_stats\" : {\n" + " \"date_histogram\":{\n" + " \"field\" : \"event_timestamp\",\n" + " \"interval\" : \"hour\"\n" + " }\n" + " }\n" + " }\n" + "} "); HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); HttpEntity param= new HttpEntity(JSONInput, headers); RestTemplate restTemplate = new RestTemplate(); String result = restTemplate.postForObject(url, param, String.class); return new ElasticSearchResult(result); }
아래 예제는 스키마에 맞게 클래스를 설계해서 처리하는 방법인데, JSON과 같은 비정형 데이터 스타일의 데이터에는 적합치는 않다고 보인다. 하지만, 무척 성실한 예제라서 추가.
HOW TO READ JSON DATA IN SPRING BOOT AND WRITE TO A DATABASE
http://therealdanvega.com/blog/2017/07/05/read-json-data-spring-boot-write-database