Bonjour,
Je suis néophite en Jersey ... et je rencontre le problème suivant alors que je souhaite mettre en place une méthode utilisant l'annotation @PUT avec réception de données en JSON. Je suis sur un système d'exploitation CentOS et je développe avec Eclipse.
Donc voici l'erreur que je rencontre :
D'après tout ce que j'ai pu voir sur divers forums, je pense que mon problème vient des @FormDataParam (mais je n'en suis pas sûr) car ces annotations ne marchent pas avec tous les objets apparamment. Par contre ces annotations fonctionnent avec les String et vu que je rattrape les données en JSON, je n'ai que des String ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SEVERE: Missing dependency for method public javax.ws.rs.core.Response monPackage.maClass.updateUser(java.lang.String,java.lang.String,java.lang.String,java.lang.String) at parameter at index 3 SEVERE: Method, public javax.ws.rs.core.Response monPackage.maClass.updateUser(java.lang.String,java.lang.String,java.lang.String,java.lang.String), annotated with PUT of resource, class package.Class, is not recognized as valid resource method.
Voici la méthode dans laquelle j'ai développé le service @PUT :
J'ai vu aussi sur des forums que cela pouvait venir des librairies utilisées ... donc voici les librairies jersey ou jaxb que j'utilise et qui sont dans /WebContent/WEB-INF/lib :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 @PUT @Path("/update_user") @Consumes(MediaType.APPLICATION_JSON + ";charset=utf-8") @LnjWSMethodReflect(method = "PUT", path = "/update_user", description="Allow the user to update its loc and reg_ig") public Response updateUser( @FormDataParam("identifier") final String identifier_, @FormDataParam("reg_id") final String reg_id_, @FormDataParam("latitude") final String latitude_, @FormDataParam("longitude") final String longitude_) { LOGGER.info("update_reg_log - identifier : " + identifier_ + ", reg_id : " + reg_id_ + ", latitude : " + latitude + ", longitude : " + longitude); .....}
- jaxb-api-2.2.2.jar
- jaxb-impl-2.2.3-1.jar
- jersey-core-1.18.3.jar
- jersey-json-1.18.3.jar
- jersey-multipart-1.18.3.jar
- jersey-server-1.18.3.jar
- jersey-servlet-1.19.jar
et j'ai aussi deux librairies javax.ws.rs-api-2.0.jar et reflections-0.9.9-RC1.jar qui sont référencées dans le java build path du projet Eclipse en local sur mon système d'exploitation.
Si quelqu'un a une idée pour résoudre mon problème, je vous en remercie !
Partager