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

Spring Java Discussion :

Tester web service REST


Sujet :

Spring Java

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 391
    Points : 185
    Points
    185
    Par défaut Tester web service REST
    Bonjour à tous ,

    j'ai une petite question concernant Spring WebMvc. J'essaie de faire une appli. web avec un web service mais je ne sais pas si celui-ci se lance correctement.

    J'ai un projet maven-webapp qui contient la classe suivante :

    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
     
    ...
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.RestController;
    ...
     
    @RestController
    @RequestMapping("/service")
    public class PersoWsRest {
     
    	@RequestMapping(value = "/lister", method = RequestMethod.GET)
    	public List<Perso> listerPersos() {
    		System.out.println("PASSAGE DS LE WEB SERVICE\n");
     
    		List<Perso> res = new ArrayList<Perso>();
     
    		res.add(new Perso("Test", "Un"));
    		res.add(new Perso("Test", "Deux"));
    		res.add(new Perso("Test", "Trois"));
     
    		return res;
    	}
     
    }
    et quand je démarre mon serveur (qui se lance sans erreur), je n'arrive pas à acceder à mon web service.

    Je pense qu'il y a deux solutions :
    - Je rentre la mauvaise URL mais le problème c'est que j'en ai testé plein donc je pense pas que ce soit ça...
    - Je n'ai pas correctement formé mon web service ou mal configuré Spring WebMvc. Mais j'ai eu beau chercher sur le net, je n'ai pas trouvé grand chose.

    Avez-vous une idée ? Merci d'avance.

  2. #2
    Membre confirmé Avatar de freddou17
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2013
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2013
    Messages : 341
    Points : 566
    Points
    566
    Par défaut
    Slt,

    Comment est gérée ta conf spring ? depuis web.xml ou dans une classe extends webappinitializer?
    Peux tu nous donner le path de ton appli ? es tu vérifier dans le manager qu'elle est bien déployée sous le même nom?

    ++
    "Aucun de nous ne sait ce que nous savons tous, ensemble."
    Lien vers mon appli Funcash n'hésitez pas à donner votre avis

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 391
    Points : 185
    Points
    185
    Par défaut
    Salut,

    Citation Envoyé par freddou17 Voir le message
    Comment est gérée ta conf spring ? Depuis web.xml ou dans une classe extends webappinitializer?
    Effectivement, depuis que j'ai posté ma question j'ai découvert qu'il fallait un fichier de configuration. Donc j'ai ajouté les lignes suivantes dans le web.xml du projet avec la classe Rest entre les balises <web-app> :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <servlet>
          <servlet-name>monAppli-rest</servlet-name>
          <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
          <load-on-startup>1</load-on-startup>
      </servlet>
     
      <servlet-mapping>
          <servlet-name>monAppli-rest</servlet-name>
          <url-pattern>/*</url-pattern>
      </servlet-mapping>
    C'est donc à partir du web.xml. Je n'aime pas trop utiliser le xml pour les config., quel est la méthode la plus intéressante selon toi, entre la classe et le XML ?

    Cette configuration fait donc appel au fichier "monAppli-rest-servlet.xml" suivant :

    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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:context="http://www.springframework.org/schema/context"
           xmlns:tx="http://www.springframework.org/schema/tx"
           xmlns:jee="http://www.springframework.org/schema/jee"
           xmlns:mvc="http://www.springframework.org/schema/mvc"
           xsi:schemaLocation="http://www.springframework.org/schema/beans 
               				   http://www.springframework.org/schema/beans/spring-beans.xsd
               				   http://www.springframework.org/schema/context
             				   http://www.springframework.org/schema/context/spring-context.xsd
             				   http://www.springframework.org/schema/tx
         					   http://www.springframework.org/schema/tx/spring-tx.xsd
         					   http://www.springframework.org/schema/jee
         					   http://www.springframework.org/schema/jee/spring-jee.xsd
         					   http://www.springframework.org/schema/mvc
         					   http://www.springframework.org/schema/mvc/spring-mvc.xsd">
     
    	<mvc:annotation-driven/> 				   
     
    </beans>
    Cela ne fonctionne toujours pas, il doit manquer des choses.

    Citation Envoyé par freddou17 Voir le message
    Peux tu nous donner le path de ton appli ? es tu vérifier dans le manager qu'elle est bien déployée sous le même nom?
    Je fonctionne en local donc je ne pense pas avoir de path pour mon appli. à moins de n'avoir pas compris ta demande. Et je ne sais pas ce que c'est que le manager.

    Merci d'avance.


    Edit : Je viens de voir dans la console que j'ai cette erreur là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    mars 14, 2016 1:29:49 PM org.springframework.web.servlet.PageNotFound noHandlerFound
    AVERTISSEMENT: No mapping found for HTTP request with URI [/eCollection.wsRest] in DispatcherServlet with name 'monAppli-rest'
    mars 14, 2016 1:29:57 PM org.springframework.web.servlet.PageNotFound noHandlerFound
    AVERTISSEMENT: No mapping found for HTTP request with URI [/eCollection.wsRest/service/lister] in DispatcherServlet with name 'monAppli-rest'
    mars 14, 2016 1:30:19 PM org.springframework.web.servlet.PageNotFound noHandlerFound
    AVERTISSEMENT: No mapping found for HTTP request with URI [/eCollection.wsRest] in DispatcherServlet with name 'monAppli-rest'

  4. #4
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 391
    Points : 185
    Points
    185
    Par défaut
    Bon, grâce à vous j'ai avancé un peu (merci) mais j'ai toujours une erreur de configuration je pense.

    Mon web service fait référence à un objet d'un autre projet (le web service est dans le projet monProjetRest et fait référence à une classe du projet monProjetBusiness).

    Du coup j'ai cette erreur là :

    Dans la console :
    INFOS: Mapped "{[/service/lister],methods=[GET]}" onto <java.lang.TypeNotPresentException: Type com.ecollection.model.Perso not present>

    Sur le navigateur :
    Etat HTTP 500 - Handler processing failed; nested exception is java.lang.NoClassDefFoundError: com/monAppli/model/Perso

    Je ne sais pas comment la résoudre :/.

  5. #5
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 391
    Points : 185
    Points
    185
    Par défaut
    Bon, j'ai trouvé je devais remonter mon projet business dans le pom.xml pour qu'il apparaisse avant le spring-webmvc.

    Merci encore et une petite question au passage si quelqu'un à le temps. Ça sert à quoi le ContextListener dans la configuration de Spring Webmvc ?

    Merci

  6. #6
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2014
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2014
    Messages : 153
    Points : 227
    Points
    227
    Par défaut
    C'est le container spring créé partagé par les filtres et servlets/controleurs.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Décrire et Consommer un Web Service ReST
    Par knebhi dans le forum REST
    Réponses: 8
    Dernier message: 28/10/2012, 15h10
  2. web services REST
    Par mafanta dans le forum Services Web
    Réponses: 1
    Dernier message: 08/02/2011, 08h44
  3. web service restful
    Par linda2010 dans le forum Services Web
    Réponses: 0
    Dernier message: 07/03/2010, 23h51
  4. Web service REST
    Par Lexandre dans le forum Développement de jobs
    Réponses: 0
    Dernier message: 27/01/2010, 10h31
  5. Problème FLEX Web Service REST
    Par Florian_44 dans le forum Flex
    Réponses: 1
    Dernier message: 25/06/2009, 00h58

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