¿Qué es RESTTemplate?

RESTTemplate es la clase que ofrece Spring para el acceso desde la parte cliente a Servicios REST.

Conceptualmente sería el equivalente al JdbcTemplate o al JmsTemplate.

¿Qué es UNIREST?

Los métodos principals de la clase corresponden con los métodos HTTP (falta el PATCH :))

Cada método toda como primer argumento una URI que puede ser una URI template s¡y se pueden usar variables para resolver el template, como se ve en este ejemplo:

String result = restTemplate.getForObject("http://example.com/hotels/{hotel}/bookings/{booking}", String.class, "42", "21");

Esto mismo podría ejecutarse así:

Map<String, String> vars = new HashMap<String, String>();

vars.put("hotel", "42");

vars.put("booking", "21");

String result = restTemplate.getForObject("http://example.com/hotels/{hotel}/bookings/{booking}", String.class, vars);

Un ejemplo algo más complejo sería este:

final String photoSearchUrl = "http://www.flickr.com/services/rest?method=flickr.photos.search&api+key={api-key}&tags={tag}&per_page=10";

Source photos = restTemplate.getForObject(photoSearchUrl, Source.class, apiKey, searchTerm);

Que usa el SourceHttpMessageConverter para convertir el XML de respuesta hacia un javax.xml.transform.Source.

Leer más

Una alternativa al RESTTemplate es UNIREST.

Deja un comentario