无法向请求正文添加新字段

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)