2010-09-22 9 views
4

Comment puis-je obtenir une adresse URI complète de la ressource actuellement distribuée dans JAX-RS? J'essaie de renvoyer un URI d'objet nouvellement créé, et ont besoin d'une partie de préfixe de celui-ci, avec l'hôte, le port, etc .:Comment puis-je obtenir l'adresse URI de la ressource Web actuellement distribuée, dans JAX-RS?

// @import-s skipped 
public class Factory { 
    @POST 
    public final Response create() { 
    Integer id; 
    // new object created and id is set 
    return Response.created(
     URI.create(prefix + "/object/" + id) 
    ).build(); 
    } 
} 

Où puis-je obtenir cette partie prefix?

Répondre

4

Une approche serait d'injecter UriInfo:

public final Response create(@Context UriInfo info) {...}

À ce moment-là, vous pouvez utiliser info directement ou obtenir un UriBuilder d'une de ses méthodes get*Builder.