2010-09-13 2 views
0

Я использую службы RESTEasy в своем приложении, и теперь я вынужден получить IP-адреса клиентов. Так что вопрос ... как я могу это сделать? Заранее спасибоRESTEasy и IP-адрес клиента

EDITED Я только что пришел к решению с сервлет фильтр ... но все же .. это можно сделать внутри службы Resteasy?

ответ

12

Вы можете аннотировать контекст в вашем ресурсе, как это:

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

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

Спасибо PeterMmm, чем работа! – Andrew

+1

Это хорошо работает, но если вы находитесь за веб-сервером (например, Apache), он даст вам IP-адрес сервера. Если вы хотите получить фактический IP-адрес исходного запроса, взгляните на этот ответ: http://stackoverflow.com/questions/4678797/how-do-i-get-the-remote-address-of-a- клиент-в-сервлета. –