85 votes

WebClient vs RestTemplate

Comme par le ressort 5:

WebClient est une interface qui représente le principal point d'entrée pour l'exécution de requêtes web.

Il a été créé dans le cadre du Printemps du Web Réactif module à remplacer le classique RestTemplate dans ces scénarios. Le nouveau client est réactif, non-blocage solution qui fonctionne sur le protocole HTTP/1.1

Est-ce à dire, nous avons besoin de recoder pour les anciennes applications à l'aide de RestTemplate si nous voulons mettre à niveau vers le Printemps 5?

Ou il y a certains solution de contournement pour travailler avec RestTemplate dans le Ressort 5?

117voto

pvpkiran Points 12077

Non, RestTemplate continuera à exister(au moins pour l'instant). Vous n'avez pas à le remplacer par WebClient.
Une des principales différences est RestTemplate est synchrone et de blocage. j'.e lorsque vous effectuez un appel reste vous avez besoin d'attendre la réponse revient à aller plus loin.

Mais WebClient est le contraire de cela. L'appelant n'a pas besoin d'attendre la réponse est de retour. Au lieu de cela, il sera notifiée quand il ya une réponse.

Si vous avez besoin d'une telle fonctionnalité, alors oui, vous avez besoin de remplacer votre Resttemplate avec WebClient.
Vous pouvez en effet réaliser Reste modèle comme traitement synchrone dans le client web à l'aide de .block(). Mais dans l'autre sens n'est pas possible.

54voto

Evgeny Points 84

Selon la Java Doc le RestTemplate sera obsolète. L'équipe de printemps vous conseillons d'utiliser le client web, si possible:

NOTE: 5.0, le non-blocage, réactif org.springframework.web.réactive.client.WebClient offre un moderne alternative à la RestTemplate avec le soutien efficace à la fois de synchronisation et asynchrone, ainsi que des scénarios de diffusion en continu. Le RestTemplate sera déconseillé dans une future version et de ne pas avoir de nouvelles fonctionnalités majeures ajouté à aller de l'avant.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X