我有一个Jersey 2 Web Service,当收到请求时,会向另一个Web服务发送请求,以形成原始请求的响应。所以,当客户端"A"向我的Web服务"B"发出请求时,"B"会作为响应"A"的一部分向"C"发出请求。
A->B->C
我想为Jersey 2 Web服务实现一个过滤器,它的功能基本如下:
客户端"A"将发送一个具有标题"My-Header:first"的请求
当我的Web服务"B"接着做一个客户端请求"C"时,它应该附加到该标头,因此它发送一个带有这个标头的请求 "My-Header:first,second"。
我想将其作为一个过滤器来实现,这样就不需要所有我的资源都复制附加请求标头的逻辑了。
但是,在Jersey 2中,您会得到这4个过滤器:
ContainerRequestFilter - 过滤/修改入站请求 ContainerResponseFilter - 过滤/修改出站响应 ClientRequestFilter - 过滤/修改出站请求 ClientResponseFilter - 过滤/修改入站响应
我需要使用来自入站请求的标头,对其进行修改,然后使用它作为出站请求,因此实际上我需要一个既是ContainerRequestFilter 又是 ClientRequestFilter的东西。我认为在同一个过滤器中实现两者都不起作用,因为您不知道哪个客户端请求映射到哪个容器请求,或者您可否?
A->B->C
我想为Jersey 2 Web服务实现一个过滤器,它的功能基本如下:
客户端"A"将发送一个具有标题"My-Header:first"的请求
当我的Web服务"B"接着做一个客户端请求"C"时,它应该附加到该标头,因此它发送一个带有这个标头的请求 "My-Header:first,second"。
我想将其作为一个过滤器来实现,这样就不需要所有我的资源都复制附加请求标头的逻辑了。
但是,在Jersey 2中,您会得到这4个过滤器:
ContainerRequestFilter - 过滤/修改入站请求 ContainerResponseFilter - 过滤/修改出站响应 ClientRequestFilter - 过滤/修改出站请求 ClientResponseFilter - 过滤/修改入站响应
我需要使用来自入站请求的标头,对其进行修改,然后使用它作为出站请求,因此实际上我需要一个既是ContainerRequestFilter 又是 ClientRequestFilter的东西。我认为在同一个过滤器中实现两者都不起作用,因为您不知道哪个客户端请求映射到哪个容器请求,或者您可否?