Bonjour à tous,
Toujours dans ma découverte des services web en tous genres, je m'interroge cette fois-ci sur l'implémentation d'un service web RESTful.
J'ai donc tout d'abord suivi ce tutorial permettant de créer un service web RESTful depuis une Entity Class avec NetBeans et de le déployer sous GlassFish (ou Tomcat moyennant quelques manipulations supplémentaires).
J'ai également pu me reporter sur ces exercices détaillés sur le même sujet pour avancer.
Tout fonctionne bien (tant sous GlassFish que sous Tomcat), mais je n'ai pas vraiment saisi comment créer un service web simple selon l'architecture REST.
Malheureusement, je ne trouve pas d'autres tutoriaux initiant simplement à l'implémentation de services web RESTful avec NetBeans (a priori RESTful sans s à la fin, non ?), mais toujours ce même tutorial qui revient sous forme textuelle ou encore en vidéo...
J'ai donc essayé de coder quelquechose de simple moi-même pour avoir par exemple une opération prenant une chaîne de caractères name et retournant "Hello name !" :
J'arrive à obtenir le message désiré en testant la méthode putHtml, mais je suis assez perdu dans la signification des annotations utilisées et je ne saisis pas pourquoi j'obtiens une erreur 404 (ressource non disponible) lorsque j'essaie de réécrire la méthode getHtml avec un paramètre name...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 import javax.ws.rs.core.Context; import javax.ws.rs.core.UriInfo; import javax.ws.rs.ProduceMime; import javax.ws.rs.ConsumeMime; import javax.ws.rs.PUT; import javax.ws.rs.Path; import javax.ws.rs.GET; @Path("generic") public class GenericResource { @Context private UriInfo context; /** Creates a new instance of GenericResource */ public GenericResource() { } /** * Retrieves representation of an instance of texthtml.GenericResource * @return an instance of java.lang.String */ @GET @ProduceMime("text/html") public String getHtml() { return "Hello World !"; } /** * PUT method for updating or creating an instance of GenericResource * @param content representation for the resource * @return an HTTP response with content of the updated or created resource. */ @PUT @ConsumeMime("text/html") public String putHtml(String name) { return "Hello " + name + " !"; } }
Sinon, quelqu'un aurait-il un lien vers un autre tutorial pour l'implémentation de services web RESTful ?
Je n'ai pas encore cherché à coder de client pour un service web RESTful, je risque sans doute d'avoir de nouvelles questions...
J'ai également vu qu'Axis2 offrait le support de services web RESTful, donc je vais sûrement bientôt regarder de ce côté-là...
Partager