Introduction

Deux solutions sont présentés ici :

Dans les exemples ci-dessous on utilise le flux produit par l'URL en /users qui renvoie une liste de User

Accès JQuery

<div id="users" />
<script>
 //<![CDATA[
  (function($) {
   $(document).ready(function() {
    $.getJSON("#{welcomeController.restURL}", function(data) {
     var html = "<ul>";
     $.each(data, function(i, item) {
      html += "<li>" + item.displayName + "</li>";
     });
     html += "</ul>";
     $(html).appendTo("#users");
    });
   });
  })(jQuery);
 //]]>
</script>

On positionne une balise <div id="users" /> qui sera destinataire des résultats.

La fonction JQuery getJSON() appel l'URL REST (dont la valeur nous est ici donnée par le contrôleur JSF). Lors de l'itération sur la liste on construit une liste html. Cette liste est ensuite insérer dans la balise <div> cible : $(html).appendTo("#users")

Accès RestTemplate

Dans la vue (JSF ici) on utilise un composant de type liste (au sens html du terme) qui fait appel au contrôleur pour obtenir une liste d'objets (au sens java du terme) :

<h:form>
 <p:dataList var="user" value="#{welcomeController.restUsers}">
  #{user.displayName}"
 </p:dataList>
</h:form>

Voyons le code Java du contrôleur :

public List<User> getRestUsers() {
 RestTemplate template = new RestTemplate();
 List<User> ret = template.getForObject(getRestURL(), List.class);
 return ret;
}

Ce cas est très simple. Pour avoir plus d'information sur l'utilisation de RestTemplate Cf. La documentation Spring sur RestTemplate

Accès Jersey Client

Dans cet example, on récupère un utilisateur à partir de son ID.

//Initialisation du client
ClientConfig clientConfig = new DefaultClientConfig();
Client client = Client.create(clientConfig);

//Configurer l'authentification du client si le service REST l'exige
client.addFilter(new HTTPBasicAuthFilter(adminUsername, adminPassword));

//Creation d'une instance WebResource
WebResource webResource = client.resource(UriBuilder.fromUri(http://urlDeMonWebSErvice/racine).build());
   
// Récupérer un user à partir de son Id au format JSON  
ClientResponse response = webResource.path("user")
                .path(idDuUser)
                .type(MediaType.APPLICATION_JSON_TYPE)
                .accept(MediaType.APPLICATION_JSON_TYPE)
                .get(ClientResponse.class);

//Transformation du JSON   
User myUser = response.getEntity(User.class);