我想实现一个高级Java servlet过滤器来处理API服务器上的批处理请求。与Facebook batch request API类似的东西。这个想法是:
doFilter(request, response)
,此处:chain.doFilter(partialRequest, partialResponse)
我能够为每个部分请求构建HttpServletRequestWrapper
,并使用某些输出流作弊创建HttpServletResponseWrapper
,但这有点难,我必须改变几乎所有部分,路径,正文,标题等。
请求/响应操作或更好的请求/响应包装类是否有好的库?
答案 0 :(得分:0)
我知道您希望将尽可能多的请求整合到一个请求中,但我认为您不会在后端对它们进行解除合并。
我认为你的方法使事情变得复杂,我甚至不确定是否有可能在后端产生新的HttpRequest对象。
删除过滤器,坚持一个请求(在前端和后端),并为请求中的每个任务生成一个新线程。
答案 1 :(得分:0)
您感兴趣的人的回顾性更新:
最后,我潜入了HttpServletRequestWrapper
和HttpServletResponseWrapper
黑暗森林的一整天,并完成了功能齐全的批量过滤,为servlet和聚合响应提供了多个请求。
不幸的是,这个过滤器必须是servlet之前的一行中的最后一个过滤器,因为后续过滤器只被调用一次。