【问题标题】:get the http post request body before jackson invocation in spring在 spring 调用 jackson 之前获取 http post 请求正文
【发布时间】:2017-08-08 09:01:25
【问题描述】:

我想知道有没有办法在任何Jackson 参与春季之前获得HttpServletRequest 身体。我用 @JsonDeserializer 和 spring HandlerInterceptorAdapter 以及 HttpRequestWrapper 尝试过,但现在没有运气。如果有人知道,请给我建议一种方法,谢谢。

【问题讨论】:

  • 你的用例是什么,你实际尝试实现的一个小例子会很好
  • 尝试添加自定义过滤器/servlel并抓取请求。
  • 为什么不能只使用 servlet 过滤器?

标签: java spring rest jackson interceptor


【解决方案1】:

您可以在应用程序中添加自定义Filter(解释为here)并覆盖doFilter 方法。例如:

public void doFilter(
      ServletRequest request, 
      ServletResponse response,
      FilterChain chain){
       ....
}

这将为您提供request 对象,您可以从中获取有效负载。

【讨论】:

  • 是的,这是要走的路。请注意,您可能需要使用org.springframework.web.util.ContentCachingRequestWrapper 之类的东西来包装您的请求,以便稍后Jackson 可以再次读取请求正文,例如
猜你喜欢
  • 1970-01-01
  • 2018-05-10
  • 2015-02-18
  • 1970-01-01
  • 2011-05-27
  • 1970-01-01
  • 2015-05-07
  • 2015-07-10
  • 1970-01-01
相关资源
最近更新 更多