Después de consultar con expertos en la materia, programadores de deferentes áreas y maestros dimos con la respuesta a la cuestión y la compartimos en este post.
Solución:
Resolví este problema simplemente agregando un nuevo HttpRequestFactory a mi instancia de restTemplate. Como esto
RestTemplate restTemplate = new RestTemplate();
HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory();
requestFactory.setConnectTimeout(TIMEOUT);
requestFactory.setReadTimeout(TIMEOUT);
restTemplate.setRequestFactory(requestFactory);
Para TestRestTemplate, agregue
@Autowired
private TestRestTemplate restTemplate;
@Before
public void setup()
restTemplate.getRestTemplate().setRequestFactory(new HttpComponentsClientHttpRequestFactory());
PD: necesitará agregar el componente httpClient en su proyecto
org.apache.httpcomponents
httpclient
4.4.1
Para los casos en que RestTemplate
se construye a partir de un RestTemplateBuilder
el constructor para el RestClient personalizado se puede escribir como,
public PersonRestClient(RestTemplateBuilder restTemplateBuilder)
this.restTemplate = restTemplateBuilder.requestFactory(new HttpComponentsClientHttpRequestFactory()).build();
También el org.apache.httpcomponents.httpclient
la dependencia debe agregarse a pom.
He agregado el siguiente código en el archivo java. Funcionó para mí.
String url="Your API URL";
RestTemplate restTemplate = new RestTemplate();
HttpClient httpClient = HttpClientBuilder.create().build();
restTemplate.setRequestFactory(new
HttpComponentsClientHttpRequestFactory(httpClient));
HttpHeaders reqHeaders = new HttpHeaders();
reqHeaders.setContentType(MediaType.APPLICATION_JSON);
HttpEntity requestEntity = new HttpEntity(requestJson, reqHeaders);
ResponseEntity responseEntity=restTemplate.exchange(url, HttpMethod.PATCH,
requestEntity, String.class);
Además, debe agregar la dependencia a continuación en el archivo pom.xml.
org.apache.httpcomponents
httpclient
Si para ti ha sido de utilidad nuestro artículo, sería de mucha ayuda si lo compartieras con el resto entusiastas de la programación de esta manera nos ayudas a difundir nuestro contenido.