Spring이 제공하는 템플릿

2024. 7. 11. 16:49토비의 스프링 6

RestTemplate

HTTP API 요청을 처리하는 템플릿

  • HTTP Client 라이브러리 확장 : ClientHttpRequestFactory
  • Message Body를 변환하는 전략 : HttpMessageConvertor

 

ClientHttpRequestFactory

HTTP Client 기술을 사용해서 ClientHttpRequest를 생성하는 전략

  • SimpleClientHttpRequest(HttpURLConnection)
  • JdkClientHttpRequest (HttpClient)
  • NettyClientRequest
  • JettyClientRequest
  • OkHttp3ClientRequest

 

doExecute()

HttpApi 호출 workflow를 가지고 있는 템플릿 메소드로 두 개의 콜백을 받음

  • RequestCallback
    • void doWithRequest(ClientHttpRequest request) throws IOException;
  • ResponseExtractor
    • T extractData(ClientHttpResponse response) throws IOException;
  • execute(), getForObject(),postForEntity(), ...등등의 편리한 메소드 제공