2013-02-14 2 views
0

Допустим, что программа установки я следующий Джерси ресурс:Как получить значение пути для входящего URL-адреса в Джерси?

@Path("/blah") 
public class BlahResource { 
    @GET 
    @Path("/") 
    public String printRelativeUrlPath() 
    { 
     System.out.println("I want to print the relative path that lands us in this method"); 
     System.out.println("For Ex: /do/1/then/2"); 
     System.out.println("For Ex: /wait/3/then/4"); 
     System.out.println("For Ex: /done/5/done/6"); 
    } 
} 

Я хочу, чтобы иметь возможность распечатать относительные пути URL-адреса, которые достигают этого метода, напр:

  • ПОЛУЧИТЬ http://somehost/blah/do/1/then/2 должен печатать /do/1/then/2
  • ПОЛУЧИТЬ http://somehost/blah/wait/3/then/4 должен напечатать /wait/3/then/4
  • GET http://somehost/blah/done/5/done/6 должен печатать /done/5/done/6

Как я могу получить эту информацию, когда я использую Джерси?

ответ

0

запрос Использование @Context HttpServletRequest для получения HttpServletRequest как упомянуто здесь http://jersey.576304.n2.nabble.com/Access-to-Servlet-Request-td5538642.html

А затем использовать методы HttpServletRequest для извлечения URL. Например: метод getPathTranslated()

http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletRequest.html

+1

Хорошо это будет звучать немой, но я нажал на горячую клавишу для автоматического упорядочивать на затмении и учитывая мой текущий Maven + фляга + зависимость установки ... она не могла найти импорт для HttpServletRequest! Я просмотрел еще несколько и передал в @Context UriInfo allUri' в качестве аргумента, а затем оценил его как «System.out.println (allUri.getPath()),« сделал трюк! – pulkitsinghal

Смежные вопросы