2010-09-13 10 views
0

J'utilise les services RESTEasy dans mon application et maintenant je suis obligé d'obtenir les adresses IP des clients. Donc la question est ... comment puis-je faire ça? Merci à l'avanceRESTEasy et l'adresse IP du client

ÉDITÉE Je viens juste à une solution avec filtre servlet ... mais .. peut-il être fait à l'intérieur du service RESTEasy?

Répondre

12

Vous pouvez annoter un contexte dans votre ressource comme ceci:

@GET 
@Path("/{id}") 
public Response getMe(
      final @PathParam("id") String id, 
      @Context HttpServletRequest req) { 

    System.err.println(req.getRemoteAddr()); 
+1

Merci PeterMmm que ça marche! – Andrew

+1

Cela fonctionne bien, mais si vous êtes derrière un serveur web (Apache par exemple), il vous donnera l'adresse IP du serveur à la place. Si vous voulez obtenir l'adresse IP réelle de la demande d'origine, jetez un oeil à cette réponse: http://stackoverflow.com/questions/4678797/how-do-i-get-the-remote-address-of-a- client-dans-servlet. –

Questions connexes