Clientrequestfilter vs Containerrequestfilter
2022-09-04 19:18:48
我知道过滤器用于处理请求,并且可以使用http标头和httpmethods来做事,但是我感到困惑
客户端请求过滤器和容器请求过滤器之间有什么区别?在哪个场景中,我们必须使用客户端请求过滤器和容器请求过滤器?
我尝试了这个网站,但没有关于这个的任何细节。
请帮助我理解这一点。
我知道过滤器用于处理请求,并且可以使用http标头和httpmethods来做事,但是我感到困惑
客户端请求过滤器和容器请求过滤器之间有什么区别?在哪个场景中,我们必须使用客户端请求过滤器和容器请求过滤器?
我尝试了这个网站,但没有关于这个的任何细节。
请帮助我理解这一点。
REST 交互有两个方面,即客户端和服务器。Jersey/JAX-RS-2 既有客户端 API,也有“主”服务器端 API。使用客户端 API 时,我们可以使用 ,而在使用服务器端 API 时,我们将使用 .不可能混合和匹配这些,它们应该严格地与交互的适当方面一起使用。ClientRequestFilter
ContainerRequestFilter
一个(服务器端)的例子是做一些授权/身份验证,这是服务器端过滤器的一个非常常见的用例。在到达您的任何资源之前,将调用过滤器ContainerRequestFilter
Client ---> Internet ---> Server ---> Filter ---> Resource
一个(客户端)示例是实现一些客户端缓存(某种程度上模拟浏览器缓存)。或者,一个案例(已经实现)是一个过滤器,用于对用户名和密码进行编码以进行 BASIC 身份验证。在将请求实际发送到服务器之前,将调用客户端筛选器。ClientRequestFilter
Client ---> Filter ---> Internet ---> Server ---> Resource
还有遵循以程XxxResponseFilters
Resource ---> ContainerResponseFilter ---> Server ---> Internet ---> Client
Server ---> Internet ---> ClientResponseFilter ---> Client