Non è possibile, non utilizzare l'API standard. HttpServletRequest
rappresentano una richiesta ricevuta dal server e quindi l'aggiunta di nuovi parametri non è un'opzione valida (per quanto riguarda l'API).
In linea di principio è possibile implementare una sottoclasse di HttpServletRequestWrapper
che avvolge la richiesta originale e intercetta i metodi getParameter()
e inoltra la richiesta spostata all'avvio.
Se vuoi seguire questa strada, è necessario utilizzare un Filter
per sostituire il vostro HttpServletRequest
con un HttpServletRequestWrapper
:
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
if (servletRequest instanceof HttpServletRequest) {
HttpServletRequest request = (HttpServletRequest) servletRequest;
// Check wether the current request needs to be able to support the body to be read multiple times
if (MULTI_READ_HTTP_METHODS.contains(request.getMethod())) {
// Override current HttpServletRequest with custom implementation
filterChain.doFilter(new HttpServletRequestWrapper(request), servletResponse);
return;
}
}
filterChain.doFilter(servletRequest, servletResponse);
}
Presumo che hai questa implementazione da [qui] (http://stackoverflow.com/questions/1046721/accessing-the- raw-corpo-di-un-put-o post-richiesta). Il MULTI_READ_HTTP_METHODS era un po 'confuso, e anche se ora capisco quale scopo serve, ti chiedo di rimuoverlo se completamente. – Neil