Au lieu de String, vous essayez de obtenir les détails d'un objet POJO personnalisé en sortie en appelant une autre API/URI essayez la solution suivante. J'espère qu'elle sera claire et utile pour l'utiliser. RestTemplate également,
Sur Spring Boot nous devons d'abord créer un Bean pour RestTemplate en vertu de la @Configuration classe annotée. Vous pouvez même écrire une classe séparée et l'annoter avec @Configuration comme ci-dessous.
@Configuration
public class RestTemplateConfig {
@Bean
public RestTemplate restTemplate(RestTemplateBuilder builder) {
return builder.build();
}
}
Ensuite, vous devez définir RestTemplate con @Autowired o @Injecté sous votre service/contrôleur, où que vous essayiez d'utiliser RestTemplate. Utilisez le code ci-dessous,
@Autowired
private RestTemplate restTemplate;
Maintenant, nous allons voir comment appeler un autre api depuis mon application en utilisant le RestTemplate créé ci-dessus. Pour cela, nous pouvons utiliser plusieurs méthodes comme exécuter() , getForEntity() , getForObject() et ainsi de suite. Ici je place le code avec l'exemple de execute(). J'ai même essayé les deux autres, mais j'ai été confronté à un problème de conversion du LinkedHashMap retourné en objet POJO attendu. La méthode execute() ci-dessous a résolu mon problème.
ResponseEntity<List<POJO>> responseEntity = restTemplate.exchange(
URL,
HttpMethod.GET,
null,
new ParameterizedTypeReference<List<POJO>>() {
});
List<POJO> pojoObjList = responseEntity.getBody();
Bon codage :)
4 votes
Vous n'avez pas besoin d'une bibliothèque tierce. Spring dispose déjà de la
RestTemplate
0 votes
Questions étiquetées [[resttemplate](https://stackoverflow.com/questions/tagged/resttemplate) ]
6 votes
RestTemplate sera déprécié dans une future version, utilisez l'alternative plus moderne WebClient