Я новичок в Джерси, и у меня есть несколько вопросов по поводу фильтра джерси.Я пытаюсь получить некоторую информацию о запросе и ответ, используя фильтр.
Первый вопрос в фильтре запросов.Например, «requestContext.getHeaders ()» получит информацию заголовка запроса.Но я хочу только получить идентификатор запроса.Как я могу получить конкретное значение в информации заголовка?
Второй вопрос: любой класс или метод, который может получить информацию запроса (например, userid, timestamp, sessionid) и данные JSON ответа вместе в виде JSON POSTзапрос?
Я застрял в этой проблеме, и я действительно ценю, если кто-нибудь может помочь мне разобраться в этом.
public class auditService implements ContainerRequestFilter,
ContainerResponseFilter {
@Override
public void filter(ContainerRequestContext requestContext,
ContainerResponseContext responseContext) throws IOException {
Object object = responseContext.getEntity();
}
@Override
public void filter(ContainerRequestContext requestContext) throws IOException {
Date requestDate = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
StringBuilder sb = new StringBuilder();
sb.append("-timestamp: ").append(simpleDateFormat.format(requestDate));
sb.append("-path: ").append(requestContext.getUriInfo().getPath());
sb.append("-user ").append(requestContext.getSecurityContext().getUserPrincipal());
sb.append("-header ").append(requestContext.getHeaders());
sb.append("-entity ").append(requestContext.getEntityStream());
System.out.println("the request:" + sb.toString());
}
}
Редактировать: я получаю конкретное значение, используя @Context HttpServletResquest.