RestTemplate

RestTemplate es un cliente sincrónico para realizar solicitudes HTTP. Es el cliente REST original para Spring que proporciona una API simple con plantillas y métodos además de las bibliotecas del cliente HTTP subyacente.

A partir de la versión 5.0, RestTemplate está en modo de mantenimiento y en el futuro solo se aceptarán solicitudes menores de cambios y errores. Considere utilizar WebClient, que ofrece una API más moderna y admite escenarios sincrónicos, asincrónicos y de transmisión.

WebClient

WebClient es un cliente reactivo y sin bloqueo para realizar solicitudes HTTP. Se introdujo en la versión 5.0 y es una alternativa moderna a RestTemplate que brinda soporte para escenarios sincrónicos, asincrónicos y de transmisión.

A diferencia de RestTemplate, WebClient admite:

  • E/S sin bloqueo.

  • Comentarios sobre la especificación Reactive Streams.

  • Alto paralelismo con menos recursos de hardware.

  • Una API fluida y de estilo funcional que aprovecha las expresiones lambda de Java 8.

  • Interacción sincrónica y asincrónica.

  • Transmitir a un servidor o transmitir desde un servidor.