Rest sur Tomcat, Leçon 1 : Introduction

04 August 2013 06:57 root Java, Maven, Resteasy, Tomcat

Bonjour,

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
Je ne vais pas pas vous faire l'affront de vous expliqué le principe de REST. Je l'ai appris de manière empirique et si par le plus grand des hasard vous êtes arrivé sur cette page c'est que vous savez déjà ce que c'est.

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 :

tuto-reasteasy-001-helloworld

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

par Shionn, dernière modification le 29 December 2013 19:09
0 réflexions au sujet de « Rest sur Tomcat, Leçon 1 : Introduction »

Laissez un commentaire

Vous pouvez utilisez du markdown pour la mise en forme

Votre adresse de messagerie ne sera pas publiée.

Temporairement, pour lutter contre les bots, il n'est pas permis de mettre http:// dans le commentaire.