No se puede, no se usa la API estándar. HttpServletRequest
representan una solicitud recibida por el servidor, por lo que agregar nuevos parámetros no es una opción válida (en lo que respecta a la API).
En principio, podría implementar una subclase de HttpServletRequestWrapper
que envuelva la solicitud original, e intercepte los métodos getParameter()
, y pase la solicitud envuelta cuando reenvíe.
Si usted va esta ruta, se debe utilizar un Filter
para reemplazar su 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);
}
Asumo que tienes esta aplicación desde [aquí] (http://stackoverflow.com/questions/1046721/accessing-the- raw-body-of-a-put-or-post-request). El MULTI_READ_HTTP_METHODS fue un poco confuso, y aunque ahora entiendo para qué sirve, le pido que lo elimine por completo. – Neil