RESTer simple avec Spring et JAXB – Partie 3 : Client REST avec RestTemplate

Ce billet marque la fin du projet portant sur REST, Spring et JAXB avec un exemple d'implémentation client-serveur. Après avoir expliquer la partie API partagée entre le client et le serveur, la partie serveur, le fin du projet démontre la simplicité avec laquelle nous allons créer un client REST avec RestTemplate.

La partie cliente de l'application se compose de deux fichiers : une implémentation cliente de l'interface RestSimpleService et un contexte Spring.

Voici l'implémentation de l'interface RestSimpleService partagée par le client et le serveur :

public class RestSimpleClientImpl
    implements RestSimpleService
{
    
    private RestTemplate restTemplate  = null;
    
    private String urlServeur = "";
    
    public Client getClient(final String reference)
    {
        return getRestTemplate().getForObject(
                getUrlServeur() + "/client/{reference}",
                ClientImpl.class,
                reference);
    }

    protected RestTemplate getRestTemplate()
    {
        return this.restTemplate;
    }

    public void setRestTemplate(final RestTemplate restTemplate)
    {
        this.restTemplate = restTemplate;
    }

    protected String getUrlServeur()
    {
        return this.urlServeur;
    }

    public void setUrlServeur(final String urlServeur)
    {
        this.urlServeur = urlServeur;
    }

}

L'utilisation de RestTemplate

Voici les deux beans qui vont avec :

<bean id="restSimple.client"
	class="com.netapsys.restsimple.client.RestSimpleClientImpl">
	<property name="restTemplate" ref="rest.template"/>
	<property name="urlServeur" value="http://localhost:8080/restsimple-serveur"/>
</bean>
	
<bean id="rest.template" class="org.springframework.web.client.RestTemplate"/>

Je vous laisse lire et compiler le code source lié à ce billet pour tester la simplicité du projet.

Quels sont à votre avis les forces et les faiblesses de cette approche ?
Ce projet étant vraiment simpliste, ce principe d'architecture est-il utilisable dans un véritable projet industrielle ?
Une première réponse par Jean-Baptiste ici.

Voici quelques liens utiles :

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.