Université Tunis El Manar-Institut Supérieur d’Informatique
Module SOA-Web Services - A.U 2023/2024
TP4 : Création et déploiement d’un service
web HelloWorld avec JAX-RS
Objectifs
Le but de cet TP est le développement d’un service web RESTful HelloWorld avec l’API
JAX-RS.
Définition d’une ressource REST avec JAX-RS
1- Dans Eclipse, créez un nouveau projet maven nommé «Hello_JAX-RS» de
packaging war.
2- Dans [Link], ajoutez le code suivant:
<properties>
<failOnMissingWebXml>false</failOnMissingWebXml>
<[Link]>UTF8</[Link]>
<[Link]>1.8</[Link]>
<[Link]>1.8</[Link]>
</properties>
<dependencies>
<dependency>
<groupId>[Link]</groupId>
<artifactId>resteasy-jaxrs</artifactId>
<version>[Link]</version>
<scope>provided</scope>
</dependency>
</dependencies>
3- Cliquez sur Maven Update Project.
4- Créez une classe nommée « HelloResource» dans le package «resources». Cette
classe représente notre ressource REST et doit contenir des méthodes publiques.
5- Ajoutez les annotations JAX-RS suivantes :
@Path("/greetings") permet de définir un chemin pour associer la ressource
HelloResource à un URI.
@GET: pour la lecture de la ressource via une requête HTTP de type GET.
@Produces(MediaType.TEXT_PLAIN): indique le type de la représentation
retournée par la requête GET.
Page 1 sur 4
Université Tunis El Manar-Institut Supérieur d’Informatique
Module SOA-Web Services - A.U 2023/2024
@Path("greetings")
public class HelloRessource {
@GET
@Produces(MediaType.TEXT_PLAIN)
public String sayHello() {
return "hello from JAX-RS";
}
Configuration de l’application Web JAX-RS
Une application JAX-RS doit contenir au moins une classe ressource packagée dans une
archive WAR. Afin d’activer les ressources REST définies dans votre application, vous devez
ajouter une sous-classes [Link], puis ajouter les modèles d'URI requis à l'aide
de l'annotation @ApplicationPath .
Créez une classe nommée «RestActivator» dans le package «resources» comme suit:
package resources;
import [Link];
import [Link];
@ApplicationPath("rest")
public class RestActivator extends Application{
NB: Le chemin défini dans l'annotation [Link] sera ajouté à l'URL de
base.
Déploiement et test du service web RESTFUL
1- Déployez le projet.
2- Test du service web RESTful
En tapant l’uri: [Link] SNAPSHOT/rest/greetings,
on envoie une requête HTTP de type GET demandant lalecture de la ressource HelloResource.
Page 2 sur 4
Université Tunis El Manar-Institut Supérieur d’Informatique
Module SOA-Web Services - A.U 2023/2024
Création d’un service web RESTful paramétré
Maintenant on va changer le comportement de notre service web RESTful pour qu’il utilise
des paramètres.
a- @PathParam
L’annotation @PathParam récupère des arguments passés dans le chemin de l’URI
@GET
@Produces(MediaType.TEXT_PLAIN)
@Path("{FirstName}/{LastName}")
public String
sayHello1(@PathParam(value="FirstName")String
Prenom,@PathParam(value="LastName")String Nom){
return "hello from JAX-RS "+Prenom+" "+Nom;
}
Testez comme suit:
b- @QueryParam
L’annotation @QueryParam récupère les valeurs des paramètres de la requête.
Page 3 sur 4
Université Tunis El Manar-Institut Supérieur d’Informatique
Module SOA-Web Services - A.U 2023/2024
@GET
@Produces(MediaType.TEXT_PLAIN)
public String
sayHello2(@QueryParam(value="FirstName")String
Prenom,@QueryParam(value="LastName")String Nom){
return "hello from JAX-RS "+Prenom+" "+Nom;
}
Testez comme suit
Page 4 sur 4