получить URL-адрес от Джерси WriterInterceptor - PullRequest
0 голосов
/ 28 ноября 2018

Я знаю, что есть способ получить URL в классе ContainerRequestFilter на Джерси.

есть ли способ получить URL от writerInterceptor внутри метода aroundWriteTo?

@Provider
public class RequestClientWriterInterceptor implements WriterInterceptor {

@Override
public void aroundWriteTo(WriterInterceptorContext context) 
  throws IOException, WebApplicationException {
    context.getOutputStream()
      .write(("Message added in the writer interceptor in the client side").getBytes());

    context.proceed();
}
}

Ответы [ 2 ]

0 голосов
/ 29 ноября 2018

Вы можете просто ввести UriInfo в перехватчик.Вы можете получить все нужные вам полезности, связанные с URI, от этого объекта.

@Provider
public class RequestClientWriterInterceptor implements WriterInterceptor {

    @Context
    private UriInfo uriInfo;
}

Вам не нужно беспокоиться о каких-либо условиях гонки или о чем-либо подобном, так как будет добавлен локальный прокси-поток, а не действительныйобъект.

0 голосов
/ 28 ноября 2018

Вы также можете отправить URL в новом имени заголовка, а затем использовать getHeaders , чтобы получить конкретный заголовок:

 MultivaluedMap<String,Object> headers = context.getHeaders();
...