【发布时间】:2016-07-10 18:39:01
【问题描述】:
我有一个自定义(预)zuul 过滤器,因为我想记录 API 请求的 requestBody(API 可用于在 Eureka 注册的服务中)但是当我在 ZUUL 中使用以下代码时
HttpServletRequest request.getReader(); 或
RequestContext.getCurrentContext().getRequest().getInputStream();
我可以记录 requestBody 但是 -
问题: 拥有 API 的服务无法获取 requestBody,因为它无法再次对同一请求调用 getReader。我知道我需要扩展 HttpServletRequestWrapper 并覆盖 getReader() 方法的东西,但我不确定如何在 ZUUL 上下文中处理,如何在记录后将请求与 requestBody 一起从 ZUUL 转发到服务。
任何建议都会有所帮助。
【问题讨论】:
-
我能够通过使用 HttpServletRequestWrapper 解决它,将发布代码。