Rest sur Tomcat, Leçon 1 : Introduction
04 August 2013 06:57 rootBonjour,
Je commence aujourd'hui une série de tutorial dans le but de faire des services web orienté Rest sur Tomcat. Ici je prendrais le choix d'utiliser principalement Json comme format d’échange mais pour du XML la procédure change peu. J'ai choisi comme implémentation :
- Resteasy : pour le provider rest
- Jackson : pour la serialisation Json
- Tomcat : pour le serveur
Ecriture du pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>shionn</groupId> <artifactId>tuto-resteasy</artifactId> <version>0.1</version> <name>ResteasyTuto</name> <packaging>war</packaging><dependencies> <dependency> <groupId>org.jboss.resteasy</groupId> <artifactId>resteasy-jackson-provider</artifactId> <version>3.0.2.Final</version> </dependency> <dependency> <groupId>org.jboss.resteasy</groupId> <artifactId>resteasy-jaxrs</artifactId> <version>3.0.2.Final</version> </dependency> </dependencies> </project>
Ecriture du web.xml
à placer dans src/main/webapp/WEB-INF. L'idée est de faire en sorte que resteasy détecte tous seul les services.<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <display-name>Resteasy Tuto</display-name> <context-param> <param-name>resteasy.scan</param-name> <param-value>true</param-value> </context-param> <context-param> <param-name>resteasy.servlet.mapping.prefix</param-name> <param-value>/</param-value> </context-param> <listener> <listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class> </listener> <servlet> <servlet-name>Resteasy</servlet-name> <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class> </servlet> <servlet-mapping> <servlet-name>Resteasy</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> </web-app>
Ecriture de du premier service REST
C'est assez simple il suffit de créer une classe en l'annotant avec la balise @Path("/chemin"). Cela déclare la classe auprès de resteasy. Cette classe prendra en charge les requêtes arrivant sur le chemin "/chemin"Et c'est la même idée avec les méthodes, avec les annotation en décrit le contenu qu'elle consomme, produit etc... Voila l'exemple le plus simple.
@Path("/hello") public class Hello { @GET @Produces(MediaType.APPLICATION_JSON) public List<String> displayListOfHello() { return Arrays.asList("Hello World", "Hope you like this toturial"); } }
Il ne vous reste plus qu'à déployer votre application et vous devriez obtenir :

Dans le prochain article nous feront un vrai service REST avec peut être une sérialisation en BDD.
Tutoriel suivant : Leçon 2 : Un service de message.
Mise à jour 27 décembre 2013 : mise en forme des codes qui en avais besoin Mise à jour 29 décembre 2013 : NGG Galerie → Std Galerie