@Service
@Slf4j
public class TemplateService {
@Autowired
private RestTemplate restTemplate;
public <T> T postForObject(String url, Object request, Class<T> responseType) {
log.info("URL:{}", url);
T t = restTemplate.postForObject(url, request, responseType);
log.info("Response:{}", t);
return t;
}
@Slf4j
public class TemplateService {
@Autowired
private RestTemplate restTemplate;
public <T> T postForObject(String url, Object request, Class<T> responseType) {
log.info("URL:{}", url);
T t = restTemplate.postForObject(url, request, responseType);
log.info("Response:{}", t);
return t;
}
}
@Configuration
public class RestTemplateConfig {
@Value("${read_timeout}")
private int timeout;
@Bean
@LoadBalanced
public RestTemplate restTemplate()
{
SimpleClientHttpRequestFactory simpleClientHttpRequestFactory = new SimpleClientHttpRequestFactory();
simpleClientHttpRequestFactory.setConnectTimeout(10000);
simpleClientHttpRequestFactory.setReadTimeout(timeout);
return new RestTemplate(simpleClientHttpRequestFactory);
}
}