사용자 도구

사이트 도구


springframework:resttemplate

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
springframework:resttemplate [2020/06/26 10:05]
kwon37xi
springframework:resttemplate [2022/01/14 15:43] (현재)
kwon37xi
줄 3: 줄 3:
   * [[http://www.baeldung.com/rest-template|Spring RestTemplate Tutorial]]   * [[http://www.baeldung.com/rest-template|Spring RestTemplate Tutorial]]
   * [[http://www.baeldung.com/spring-rest-template-list|Get and Post Lists of Objects with RestTemplate | Baeldung]]   * [[http://www.baeldung.com/spring-rest-template-list|Get and Post Lists of Objects with RestTemplate | Baeldung]]
 +  * [[https://www.baeldung.com/spring-rest-template-builder|Configure a RestTemplate with RestTemplateBuilder | Baeldung]]
 +  * [[https://howtodoinjava.com/spring-boot2/resttemplate/|Spring Boot RestTemplate Tutorials - HowToDoInJava]]
 +  * see [[springframework:feign|Fegin]]
  
 ===== HttpEntity ===== ===== HttpEntity =====
줄 65: 줄 68:
 restTemplate.setRequestFactory(new BufferingClientHttpRequestFactory(new SimpleClientHttpRequestFactory())); // body 스트림을 소모해버리지 않게 복제 restTemplate.setRequestFactory(new BufferingClientHttpRequestFactory(new SimpleClientHttpRequestFactory())); // body 스트림을 소모해버리지 않게 복제
 restTemplate.setInterceptors(Lists.newArrayList(new RestTemplateLoggingInterceptor())); // RestTemplateLoggingInterceptor는 로그를 남기는 구현. body를 읽어버림. restTemplate.setInterceptors(Lists.newArrayList(new RestTemplateLoggingInterceptor())); // RestTemplateLoggingInterceptor는 로그를 남기는 구현. body를 읽어버림.
 +</code>
 +
 +===== SpringBoot =====
 +  * with [[springframework:springboot|SpringBoot]]
 +  * ''org.springframework.boot.autoconfigure.web.client.RestTemplateAutoConfiguration''
 +  * ''RestTemplateBuilder'' 가 존재하지 않을 경우 생성해준다.
 +  * ''RestTemplate'' 자체는 생성해주지 않고 Builder 만 만들어준다.
 +  * ''RestTemplateCustomizer'', ''RestTemplateRequestCustomizer'' Bean 들을 통해 조정해준다.
 +
 +<code java>
 +@Bean
 +public RestTemplate restTemplate(RestTemplateBuilder restTemplateBuilder) {
 +    return restTemplateBuilder
 +            .requestFactory(() -> new BufferingClientHttpRequestFactory(new SimpleClientHttpRequestFactory()))
 +            .setConnectTimeout(Duration.ofMillis(5000)) // connection-timeout
 +            .setReadTimeout(Duration.ofMillis(5000)) // read-timeout
 +            .additionalMessageConverters(new StringHttpMessageConverter(Charset.forName("UTF-8")))
 +            .build();
 +}
 </code> </code>
  
 ===== 참조 ===== ===== 참조 =====
   * [[https://www.baeldung.com/spring-resttemplate-logging|Spring RestTemplate Request/Response Logging | Baeldung]]   * [[https://www.baeldung.com/spring-resttemplate-logging|Spring RestTemplate Request/Response Logging | Baeldung]]
 +  * [[https://enterkey.tistory.com/275|Spring에서 RestTemplate을 사용하여 REST 기반 서비스 요청과 테스트하기 - Hello World]] 
 +  * [[https://luvstudy.tistory.com/78|RestTemplate 응답 log 확인하기]] 
 +  * [[https://reflectoring.io/spring-resttemplate/|Complete Guide to Spring RestTemplate]]
springframework/resttemplate.1593133503.txt.gz · 마지막으로 수정됨: 2020/06/26 10:05 저자 kwon37xi