Rest sur Tomcat, Leçon 2 : Un service de message.
11 August 2013 15:51 rootBonjour,
Voici la suite de ce tutorial, aujourd'hui on va voir comment ajouter un service de gestion de message en Json. Comment interagir avec ce service à l'aide d'un client Rest comme Rest-Console pour chromiun. Et dans le prochain article on verra comment sérialiser ces données dans une base de donnée à l'aide d'OpenJPA.
Ecriture du bean
Rien de bien sorcier. Ici je souhaite que la date soit automatiquement renseigné lors de la creation du bean. Ca m'évitera de la remplir depuis le client.public class Message { private Date creation = new Date(); private String message; public Date getCreation() { return creation; } public void setCreation(Date creation) { this.creation = creation; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } }
Ecriture du service
Les beans sont enregistré dans une simple liste en static pour l'instant. Plus tard on passera par une base de donnée mais c'est une autre histoire. Deux services sont déclarés. Le premier permet d'ajouter un message, et renvoie le message sauvegardé. L’intérêt est d'avoir dans la réponse les éventuels modification qui ont lieux lors de la création, ici simplement la date de création. Le second service lui renvoie la liste des messages, tous simplement.@Path("/messages") public class MessageService { private static final List<Message> MESSAGES = new ArrayList<Message>(); @POST @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) public Message postMessage(Message message) { MESSAGES.add(message); return message; } @GET @Produces(MediaType.APPLICATION_JSON) public List<Message> getMessages() { return MESSAGES; } }
Envoie d'un post avec Rest-Console
Pour tester mes services rest j'utilise Rest-Console, une application pour chromiun, mais vous trouverez facilement son équivalent pour firefox.Tous d'abord, un post pour créer le bean. [gallery ids="1749"] Vous avez comme réponse : [gallery ids="1750"] Et maintenant si vous fait un get vous aurez comme réponse : [gallery ids="1752"] A bientôt pour un prochain article avec la sérialisation JPA.
Tutoriel suivant : Leçon 3 : Persistance avec OpenJPA
Édition du 07/12/2013 : mise en forme des codes qui en avaient besoin