Consumer les web services RESTFull en JAVA

De $1

Table des matières
aucun titre

Version de 06:54, 26 Avr 2024

cette version.

Revenir à liste des archives.

Voir la version actuelle

L’objectif de ces travaux est de vous montrer comment consommer un service web RESTFul à partir d'une application JAVA. L'idée est d'ouvrir une connection par HTTP au serveur et d'effectuer des opérations sur les ressources exposées en lecture (GET), écriture (DELETE, POST, PUT). 

Nous utiliserons la librairie Apache Components  qui permet d'effectuer des requetes HTTP à partir d'une application Java.  Rendez vous sur le site du projet et téléchargez la librairie sur votre poste de travail. 

Cette librairie dépend d’autres librairies, et toutes les dépendances sont fournies dans le dossier téléchargé ; ajoutez les tous en référence à votre projet.  

Bonne pratique : Créez un dossier libs dans l’arborescence de votre projet puis placez les jars à importer dans ce dossier.  En faisant ainsi, vous n’aurez pas de problème de références si jamais vous déplacez le projet vers un autre dossier ou si vous le passez à un collègue ou un prof.  

  • Créez un projet Java Application sous Netbeans 
  • Ajoutez une rérérence à la librairie que vous téléchargée précedemment 
Faites bouton doigt sur Libraries dans l’arborescence de votre projet sur  Netbeans è Add Jar/Folder 
 add_lib.pngadd_lib_1.png
  • Ouvrez la classe SimpleClient qui a été généré à la création du projet, modifiez cette classe afin qu'elle puisse accéder en lecture à la ressource "categorie" de votre service. 

HttpClient client =new DefaultHttpClient(); //Créez une requete HTTPde type GET HttpGet request =new HttpGet(url); //Ajoutez le type de représentation souhaitée dans l'en tête de la requête request.addHeader("Accept","application/xml"); // Exécutez la requête et récupérez la réponse HttpResponse response = client.execute(request); //Analysez le statut de la réponse int code = response.getStatusLine().getStatusCode());
if(code==200){//La requete a atteint le serveur et une réponse a été renvoyée
   //Récupérez le contenu de la réponse  
    BufferedReader rd =new BufferedReader(); new InputStreamReader(response.getEntity().getContent()));     StringBuffer result =new StringBuffer();     String line ="";     while((line = rd.readLine())!=null){         result.append(line);     } //Afficher la réponse dans la console     System.out.println(result.toString()); }else{
    //Une erreur est survenue (500, 404 ...)
}

Executez le code de la classe Vous devriez voir une représentation xml de la ressource dans la console de Netbeans