IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Services Web Java Discussion :

Réception de données Jersey REST


Sujet :

Services Web Java

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2010
    Messages : 62
    Points : 96
    Points
    96
    Par défaut Réception de données Jersey REST
    Salut,

    Je suis en train de m'auto-former en codant une appli ayant comme architecture :
    Client web : backbone,
    Serveur d'appli : Java REST en utilisant jersey.

    Coté javascript j'ai ça :

    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
    var Aad = (function(aad)
    {
    	aad.Models.Adusr = Backbone.Model.extend(
    	{
    	   	urlRoot: "api/adusr",
    	   	defaults: 
    	   	{
    	   		numadusr:'',
    	   		pawadusr:''	   		
    	   	},
    	   	connect: function() 
    	   	{
                return this.url = "api/adusr/connect/";
            }
    	});
    	return aad;
    }(Aad));
    J'utilise la classe de cette manière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     //+ Créarion d'un utilisateur
    window.adusr = new Aad.Models.Adusr({numadusr:'TEST',pwdadusr:'test'});
    adusr.connect();
    adusr.fetch();
    Coté Java j'ai cette classe :

    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
     
    package com.gri.resource;
     
    import javax.ws.rs.GET;
    import javax.ws.rs.Path;
    import javax.ws.rs.PathParam;
    import javax.ws.rs.Produces;
    import javax.ws.rs.core.MediaType;
     
    import com.gri.dao.AdusrDao;
    import com.gri.object.Adusr;
     
    @Path("/adusr")
    public class AdusrResource 
    {
    	AdusrDao dao = new AdusrDao();
     
    	@GET 
    	@Path("/connect")
    	@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
    	public Adusr findById(@PathParam("numadusr") String numadusr, @PathParam("pwdadusr") String pwdadusr)
    	{
    		try 
    		{
    			return dao.connect(numadusr, pwdadusr);
    		}
    		catch (Exception e) 
    		{
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		return null;
     
    	}
    }

    Mon problème est que je la partie JAVA réceptionne la requête mais ne reçoit pas la la valeur des champs numadusr et pwdadusr.
    Avez vous une idée?


    Merci

  2. #2
    Membre chevronné Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 232
    Points : 1 897
    Points
    1 897
    Par défaut
    Bonjour,

    J'ai exactement le même problème pour récupérer une variable d'un web service POST.

    As-tu trouvé la solution depuis ? Comment as-tu fait pour lire la variable ?

    Merci pour ta réponse car je cherche en vain depuis plusieurs jours.

    A+
    La connaissance ne sert que si elle est partagée.
    http://ms2i.net

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Septembre 2014
    Messages : 11
    Points : 17
    Points
    17
    Par défaut
    Hello,


    C'est tout à fait normal que tu ne récupère rien dans tes paramètres. En effet tu utilises l'annotation @PathParam, qui comme son nom l'indique s'attend à ce que tu lui fournisse les données dans l'URI qui est utilisée.

    Tu as deux choix pour passer ces données.

    - Utiliser @QueryParam et appeler ton service comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://somedomain.com/adusr/connect?numaduser=tonnum&pwdaduser=tonpass

    - Utiliser @PathParam et appeler ton service comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://somedomain.com/adusr/connect/tonnum/tonpass
    Il faut aussi dans ce cas modifier le @Path actuel et le remplacer par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @Path("/connect/{numaduser}/{pwdaduser}")
    Cependant je préfère la première méthode, car la deuxième doit être utilisée pour les paramètres qui identifient ta ressource, ce qui n'est pas le cas ici

Discussions similaires

  1. Réception des données sur un autre serveur
    Par u115rcu dans le forum Langage
    Réponses: 5
    Dernier message: 20/01/2007, 14h20
  2. Réponses: 2
    Dernier message: 06/06/2006, 12h10
  3. Réponses: 7
    Dernier message: 22/05/2006, 14h44
  4. [VB6]Réception de données sur port série
    Par lindecker dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 08/03/2006, 06h48
  5. Réponses: 5
    Dernier message: 11/03/2004, 15h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo