2017-07-13 1 views
2
restTemplate.postForEntity(url,entity, String.class); 
ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.POST, entity, String.class); 

Lève une exception de pointeur null lors de la tentative de création d'un objet.resttemplate.exchange lève une exception de pointeur nul

J'ai vérifié l'entité et l'URL, il est imprimé dans le message de l'enregistreur. Mais à cette ligne, il émet une exception de pointeur nul, mais l'objet est toujours obtenir créé ..

Si l'objet est obtenir créé comment cette NullPointerException throw ..

J'utilise Kubernetes, quand je vérifie ligne de commande dans kubernetes il est dit que l'objet a été créé..mais dans les journaux il montre une exception de pointeur nul

+1

Pouvez-vous poster le stackTrace? –

+0

@Luanmalaguti j'ai essayé commentant resttemplate.postforentity, après avoir commenté cette ligne, dans les journaux -> objet est créé avec succès..resttemplate.postforentity et resttemplate.exchange ne peut pas être utilisé parallèlement? – JavaLearner1

+1

@ JavaLearner1 Veuillez publier l'exception. Autre chose: utilisez-vous les deux demandes? 'restTemplate.postForEntity (url, entity, String.class);' vous renvoie déjà un 'ResponseEntity response'. Voir la [documentation] (https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/client/RestTemplate.html#postForEntity-java.net.URI-java.lang. Object-java.lang.Class-) – kamwo

Répondre

1

Le problème semble être que vous exécutez la demande deux fois.

restTemplate.postForEntity(url, entity, String.class); 
ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.POST, entity, String.class); 

Les deux postForEntity et exchange envoient une demande de poste à votre url. postForEntity peut être considéré comme un cas spécifique pour la méthode exchange. Voir la documentation

S'il vous plaît utiliser un seul d'entre eux, par exemple:

ResponseEntity<String> response = restTemplate.postForEntity(url, entity, String.class);