Como modificar QueryParam e PathParam em Jersey 2

Estou tentando filtrar / modificar as chamadas Post e Put para garantir que todos os parâmetros fornecidos pelo usuário sejam filtrados do código HTML e JS para impedir ataques XSS. Gostaria de garantir que isso seja implementado no nível da API, portanto, independentemente do cliente que estiver sendo usado, ele estará protegido.

Com o Jersey 1.x, isso foi possível implementando ContainerRequestFilter e modificando request.getQueryParameters () antes de corresponderem aos servlets solicitados. Exemplo:http://codehustler.org/blog/jersey-cross-site-scripting-xss-filter-for-java-web-apps/

No entanto, com o Jersey 2, isso não é possível implementando a mesma interface, já que não podemos mais getQueryParameters () ou getPathParameters (), mas, em vez disso, só conseguimos getUriInfo (), mas é inútil, pois os parâmetros de consulta são imutáveis. Eu olhei para JerseyFiltros e interceptores infelizmente, eles se limitam a dar acesso aos cabeçalhos e talvez aos cookies.

Passei muito tempo pesquisando, mas não consegui encontrar o que estava procurando.

Existe uma maneira alternativa de filtrar os parâmetros de caminho e consulta? Falta alguma coisa?

Obrigado!

questionAnswers(2)

yourAnswerToTheQuestion