Comment obtenir le JAX-RS @Path d'une ressource différente pendant un POST?

J'ai deux autres classes pour un simple service web (Jersey et GlassFish) qui implique des ressources de l'utilisateur - un pour fonctionner sur tous les utilisateurs (par exemple, une usine de @Affichage) et un autre sur les utilisateurs individuels (par exemple, @GET, @MIS, @DELETE). Ils sont à l':

@Stateless @Path("users") public class AllUsersResource {...}
@Stateless @Path("user") public class OneUserResource {...}

respectivement. Lors de la Publication de AllUsersResource je veux retourner à l'Emplacement (via Response.created(uri).build()) de l'Utilisateur, par exemple,

http://localhost:8080/.../user/152

Ma question est de savoir comment le faire. AllUsersResource injecte @Contexte UriInfo uriInfo, mais cela ne veut pas m' @Path info pour OneUserResource, sur le seul appel en cours (les"utilisateurs"). La façon dont je l'a finalement obtenu ce travail était d'utiliser la réflexion, mais je suis inquiet il est fragile et impur:

OneUserResource.class.getAnnotation(Path.class).value();

Recherche StackOverflow les seules autres choses que j'ai trouvé pour essayer étaient les suivants, sans succès:

  • com.soleil.jersey.l'api.de base.ResourceContext
  • javax.ws.rs.de base.UriInfo.getMatchedResources()
  • @javax.injecter.Injecter OneUserResource oneUserRes;

Toute aide serait formidable!

source d'informationauteur Matthew Cornell