gpt4 book ai didi

java - Clientrequestfilter 与 Containerrequestfilter

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:15:02 25 4
gpt4 key购买 nike

我知道过滤器是用来处理请求的,并且可以用 http header 和 httpmethods 做一些事情,但是我很困惑

clientrequestfilter 和 containerrequestfilter 有什么区别?clientrequestfilter 和 containerrequestfilter 在什么场景下要用?

我试过 this website但没有关于此的任何详细信息。

请帮助我理解这一点。

最佳答案

REST 交互有两个方面,客户端和服务器。 Jersey/JAX-RS-2 具有客户端 API 和“主要”服务器端 API。使用客户端 API 时,我们可以使用 ClientRequestFilter,使用服务器端 API 时,我们可以使用 ContainerRequestFilter。不可能混合搭配这些,它们应该严格用于交互的适当方面。

ContainerRequestFilter(服务器端)示例将执行一些授权/身份验证,这是服务器端过滤器的一个非常常见的用例。过滤器将在到达您的任何资源之前被调用

Client --->  Internet ---> Server ---> Filter ---> Resource

ClientRequestFilter(客户端)示例将实现一些客户端缓存(类似于模拟浏览器缓存)。或者一个案例(已经实现)是一个过滤器,用于对 BASIC 身份验证的用户名和密码进行编码。在请求实际发送到服务器之前,将调用客户端过滤器。

Client ---> Filter ---> Internet ---> Server ---> Resource

还有XxxResponseFilters遵循以下流程

Resource ---> ContainerResponseFilter ---> Server ---> Internet ---> Client

Server ---> Internet ---> ClientResponseFilter ---> Client

关于java - Clientrequestfilter 与 Containerrequestfilter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27578134/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com