2009-06-10 4 views
0

Je suis en train de développer une application de style REST avec Spring, mais le mappage d'URL ne fonctionne pas comme prévu.Impossible d'obtenir le mappage au printemps 2.56 pour que les URL de style REST fonctionnent

dans web.xml je

<servlet-mapping> 
    <servlet-name>UrlParsing</servlet-name> 
    <url-pattern>/device/</url-pattern> 
</servlet-mapping> 

dans NetTRaceHQ-servlet.xml Je

<bean name="urlMapping" 
     class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> 
    <property name="mappings"> 
     <props> 
      <prop key="/**/device/**">devicesController</prop> 
     </props> 
    </property> 
</bean> 

Je voudrais utiliser pour cartographier les urls suivantes à la devicesController

http://localhost:8080/NetTraceHQ/admin/device/1 
http://localhost:8080/NetTraceHQ/admin/device/ 
http://localhost:8080/NetTraceHQ/admin/device enter code here 

Le paramètre actuel dans NetTRaceHQ-servlet.xml fonctionne pour
http://localhost:8080/NetTraceHQ/admin/device

mais les autres échouent. J'ai essayé

/**/device/* 
/**/device 
/**/device/**/ 
/admin/device/* 

et plus sans chance

googlé pour trouver des réponses et n'ont pas eu de chance.

+1

juste pour clarifier les choses, il est une idée fausse qu'il existe une telle chose comme une URL REST. il n'y a aucune mention de cela dans la dissertation REST. avoir/urls/like/cela ne rend pas votre service plus ou moins RESTful. Cependant, il n'y a rien de mal à nettoyer les URLs (généralement les URI dans le langage REST). Juste FYI. – nategood

Répondre

0

Configurez le résolveur en définissant alwaysUseFullPath sur true.

< nom de haricot = classe "urlMapping" = "org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> < property name = "correspondances"> < accessoires> < touche prop = "/ /appareil/ "> devicesController </prop> </accessoires> </property> < property name =" alwaysUseFullPath "> valeur <> true </valeur> </prop erty>

< /bean> 

-Varghees Samraj

0

Cela devrait fonctionner, je pense, ce qui me fait me demander si quelque chose d'autre est mal configuré. Le composant Spring qui gère cette correspondance est org.springframework.util.AntPathMatcher, donc ayez une lecture de ce javadoc au cas où vous auriez manqué quelque chose.

Sinon, essayez de définir votre gestionnaire en tant que defaultHandler dans le mappage d'URL, juste pour vous assurer que tout le reste est correct, afin que vous puissiez affiner votre problème à la correspondance de votre chemin.

Questions connexes