2010-07-14 9 views
2

Je suis assez nouveau pour JBoss et Seam. Mon projet a un service REST du styleRaccourcir le chemin du service REST dans l'application JBoss Seam

@Path("/media") 
@Name("mediaService") 
public class MediaService { 

    @GET() 
    @Path("/test") 
    public Response getTest() throws Exception { 
     String result = "this works"; 
     ResponseBuilder builder = Response.ok(result); 
     return builder.build(); 
    } 
} 

Je peux atteindre ce à http://localhost:8080/application/resource/rest/media/test. Cependant, je n'aime pas du tout cette URL et préférerais quelque chose de beaucoup plus court comme http://localhost:8080/application/test.

Pouvez-vous s'il vous plaît me diriger dans la bonne direction sur la façon de configurer l'application correctement? (Développement en utilisant Eclipse)

Répondre

1

Le fichier web.xml contiendra le mappage de servlet de ressource de couture, cela devrait être modifié en/*, et si vous avez plus de configuration sur le chemin, il sera dans components.xml, si c'est le cas. configuré pour utiliser, il ressemblera à ce qui suit

<resteasy:application resource-path-prefix="/rest"/> 
+0

Merci pour l'aide! Le web.xml dit actuellement: Seam ressources Servlet /ressources/* Donc je suppose que changer le '' en/* est ce que vous voulez dire. Mes composants.xml n'a pas de balise '', donc je vais vous présenter ce que vous avez ci-dessus et rendre compte. Un souci serait des effets secondaires: J'ai joué avec ces paramètres une fois avant et j'ai perdu la possibilité d'utiliser la balise de remoting dans xhtml car il a toujours résolu un mauvais chemin. Résolu en utilisant le bon javascript directement. – kongo09

+0

Ok, je viens de l'essayer mais l'effet est, que je ne peux même plus voir la page xhtml de départ de l'application. Il me donne un 404. Pour la servlet Seam Resource, j'utilise '/ *' et pour Resteasy j'utilise '/ media' Des idées? – kongo09

+0

Hmm Je ne pense pas que vous puissiez utiliser xhtml de la même manière que vous utilisez les URLs REST, car xhtml doit passer par le servlet face, ils ne peuvent pas être simultanément mappés vers/* – shipmaster

Questions connexes