RestClientException

Olá,

Gostaria de saber em que situações pode acontecer essa Exception (RestClientException)? Estou passando por isso no projeto que estou e não sei ao certo o que pode ser.

Já chegou a ver a documentação?
nela diz o seguinte: Base class for exceptions thrown by RestTemplate whenever it encounters client-side HTTP errors.
Ou seja: Classe base para exceções lançadas por RestTemplate sempre que encontrar erros HTTP do lado do cliente.

Segue documentação:
https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/client/RestClientException.html

Já vi sim, a mensagem que ele me dá é essa:

org.springframework.web.client.RestClientException: Could not write request: no suitable HttpMessageConverter found for request type [com.everis.eva.model.access.watson.WatsonRequest] and content type [application/json]

Me parece que ele não está conseguindo converter a minha model para json.

Estou tentando ver o porquê disso. Já passou por algo parecido?

Não que eu me recorde, mas o erro me parece por ser algo relacionado ao content type, você está trabalhando com Jackson para manipular os JSON?
Tenta verificar se está aplicando o contet type corretamente.

Não. Mas consegui resolver, era que o RestTemplate não estava conseguindo transformar meu objeto em json, então eu transformei ele em json antes de passar para o método exchange:

	//Transforma VendaRequest em uma string json
	Gson gson = new Gson();
	String jsonRequest = gson.toJson(vendaRequest);
	
	HttpHeaders headers = new HttpHeaders();
	headers.add("Authorization", "Basic " + base64Creds);
	headers.setContentType(MediaType.APPLICATION_JSON);
	headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
	HttpEntity<String> requestEntity = new HttpEntity<>(jsonRequest, headers);

	ResponseEntity<VendaResponse> responseEntity = this.restTemplate.exchange(url, HttpMethod.POST, requestEntity, VendaResponse.class);
1 curtida