2015-07-30 2 views
0

Я хочу добавить список параметров запроса полученного UriInfo в службу Rest. Запрос приходит от клиента с некоторыми параметрами, и мне нужно добавить еще немного на стороне сервера.Java EE UriInfo: append Параметры запроса

Я попытался с:

uriInfo.getQueryParameters().add("Param", "value"); 

но когда я отобразить URI, он не имеет новый параметр.

С другой стороны, если я делаю это так:

URI uri = uriInfo.getRequestUriBuilder().queryParam("Param", "value").build(); 

, когда я отобразить URI, он содержит новый параметр. Проблема в этом втором случае состоит в том, чтобы восстановить объект UriInfo, чтобы предоставить следующие функции, они требуют его.

Я видел, что он не может быть создан, он не имеет конструкторов, его нужно добавить с помощью @Context, его значение может быть обновлено другим UriInfo ... но как создать этот UriInfo с измененным URI I ?

ответ

0

Невозможно изменить UriInfo, для этого не существует методов. Единственный вариант - воссоздать его, используя одну реализацию интерфейса. Единственная доступная реализация - org.jboss.resteasy.spi.ResteasyUriInfo.

Проблема заключается в том, что при развертывании и вызывается функция, использующая ее, она генерирует исключение ClassDefNotFound; даже с зависимостью в манифесте, указывающим на resteasy-jaxrs-2.3.2.Final.jar

Таким образом, единственный вариант - сделать нашу собственную реализацию интерфейса.

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