sitelink1 http://knight76.tistory.com/entry/Spring...8%EC%A0%9C 
sitelink2  
sitelink3  
extra_vars6  

Spring RestTemplate을 사용하는 예제이다. 

 

API 서버와 json 통신(utf)을 하는 예제로서, 결과 값을 List<Object>로 변환하는 예제이다. 

 

한글 정보를 잘 받기 위해 StringHttpMessageConverter 을 잘 활용한다. 한글 깨짐없이 문제 없이 동작한다. 

 

 

https://gist.github.com/knight1128/b0e545a03e2d066da8f6#file-resttemplateintegrationtest

 

 

package com.google.locationlab;

 

import com.google.common.collect.Lists;

import com.google.locationlab.model.LocationResponse;

import org.apache.commons.logging.Log;

import org.apache.commons.logging.LogFactory;

import org.junit.Test;

import org.springframework.core.ParameterizedTypeReference;

import org.springframework.http.*;

import org.springframework.http.converter.HttpMessageConverter;

import org.springframework.http.converter.StringHttpMessageConverter;

import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;

import org.springframework.web.client.RestTemplate;

import org.springframework.web.util.UriComponentsBuilder;

import java.net.URI;

import java.nio.charset.Charset;

import java.util.List;

 

public class RestTemplateIntegrationTest {

private Log logger = LogFactory.getLog(RestTemplateIntegrationTest.class);

 

@Test

public void test() throws Exception {

RestTemplate restTemplate = new RestTemplate();

 

MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter();

HttpMessageConverter stringHttpMessageConverter = new StringHttpMessageConverter(Charset.forName("UTF-8"));

 

List<HttpMessageConverter<?>> httpMessageConverter = Lists.newArrayList();

httpMessageConverter.add(mappingJackson2HttpMessageConverter);

httpMessageConverter.add(stringHttpMessageConverter);

restTemplate.setMessageConverters(httpMessageConverter);

 

URI targetUrl = UriComponentsBuilder.fromUriString("http://location-api.google.com")

.path("search")

.queryParam("text", "잠실역")

.build()

.toUri();

 

HttpHeaders headers = new HttpHeaders();

Charset utf8 = Charset.forName("UTF-8");

MediaType mediaType = new MediaType("application", "json", utf8);

headers.setContentType(mediaType);

 

HttpEntity<String> entity = new HttpEntity<String>("parameters", headers);

 

ParameterizedTypeReference<List<LocationResponse>> responseType = new ParameterizedTypeReference<List<LocationResponse>>() { };

ResponseEntity<List<LocationResponse>> responseEntity = restTemplate.exchange(targetUrl.toURL().toString(), HttpMethod.GET, entity, responseType);

List<LocationResponse> result = responseEntity.getBody();

 

logger.info(result);

}

}

 



출처: http://knight76.tistory.com/entry/Spring-RestTemplate-utf8-json-예제 [김용환 블로그(2004-2018)]

번호 제목 글쓴이 날짜 조회 수
77 [POST] Spring MVC 구조 분석 황제낙엽 2024.01.17 511
76 Spring Framework 에서 사용하는 annotation 황제낙엽 2024.01.17 626
75 Spring MVC configuration file 황제낙엽 2024.01.17 535
74 [스프링 시큐리티 OAuth2] 강의 자료와 학습용 소스 file 황제낙엽 2024.01.15 431
73 OAuth 2.0 Resource Server - Spring Security OAuth2.0 황제낙엽 2023.12.27 428
72 Spring, JSP, Gradle, Eclipse 환경 구축[2] - 샘플 프로젝트 file 황제낙엽 2023.12.24 486
71 Spring, JSP, Gradle, Eclipse 환경 구축[1] - 레퍼런스 조사 황제낙엽 2023.12.23 495
70 spring-security-samples 황제낙엽 2023.12.22 498
69 [Bard] Spring 과 Spring Boot의 차이 file 황제낙엽 2023.12.21 494
68 Spring 과 Spring Boot의 차이 file 황제낙엽 2020.05.26 744
67 Spring Security OAuth2.0 파헤치기 황제낙엽 2019.09.05 570
66 Spring Security OAuth2구현 file 황제낙엽 2019.09.05 952
65 Spring Security OAuth 황제낙엽 2019.09.05 929
64 [Spring3.1.1] ResponseBody 한글깨짐 해결법 황제낙엽 2018.08.08 625
63 [Spring3.1.1][4] RestTemplate 한글 문제 황제낙엽 2018.08.08 456
62 [Spring3.1.1][3] RestTemplate 한글 문제 황제낙엽 2018.08.08 782
61 [Spring3.1.1][2] RestTemplate 한글 문제 황제낙엽 2018.08.08 469
» [Spring3.1.1][1] RestTemplate 한글 문제 황제낙엽 2018.08.08 1177
59 [Spring3.1.1] Eclipse 에 Spring Framework 환경 구축하기 file 황제낙엽 2018.08.08 494
58 웹 개발의 변화와 스프링 황제낙엽 2008.03.19 529