无法向请求正文添加新字段
Can't add a new field to the body of the request
我有个小问题。在 PreFilter 中,我得到了 currentContext 并且我能够像这样读取主体值:
RequestContext context = RequestContext.getCurrentContext();
context.getRequest().getParameter("key-example")).
这一切都很好,但我想向请求正文添加一个新字段,但我无法做到这一点,因为没有这样的方法可以帮助我。我该如何执行此操作?提前致谢!
实现这一目标的方法有很多种。在调用方法之前使用 AOP 修改参数或 Servlet Filter.
对于 Filter 的情况,它需要您创建一个请求包装器 class,它从 HttpServletRequestWrapper
扩展并覆盖 getInputStream
方法到 return 请求主体如您所愿。
一种更简单的替代方法,使用 请求属性 代替
request.setAttribute("customAttribute", value)
我有个小问题。在 PreFilter 中,我得到了 currentContext 并且我能够像这样读取主体值:
RequestContext context = RequestContext.getCurrentContext();
context.getRequest().getParameter("key-example")).
这一切都很好,但我想向请求正文添加一个新字段,但我无法做到这一点,因为没有这样的方法可以帮助我。我该如何执行此操作?提前致谢!
实现这一目标的方法有很多种。在调用方法之前使用 AOP 修改参数或 Servlet Filter.
对于 Filter 的情况,它需要您创建一个请求包装器 class,它从 HttpServletRequestWrapper
扩展并覆盖 getInputStream
方法到 return 请求主体如您所愿。
一种更简单的替代方法,使用 请求属性 代替
request.setAttribute("customAttribute", value)