- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我知道过滤器是用来处理请求的,并且可以用 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/
我正在尝试使用 ContainerRequestFilter 对基于 Tomcat 的 Jersey 应用程序强制执行某些身份验证。我关注了this document 。问题:过滤器永远不会被触发 过
我正在尝试使用 ContainerRequestFilter 对基于 Tomcat 的 Jersey 应用程序强制执行某些身份验证。我关注了this document 。问题:过滤器永远不会被触发 过
我想对每个请求进行全局检查。因此,我使用 ContainerRequestFilter (没有 @PreMatching )并抛出 WebApplicationException如果检查未通过,则响应
我正在尝试几个小时来使主题中解释的机制起作用:Best practice for REST token-based authentication with JAX-RS and Jersey 但在调试
我有一个 ContainerRequestFilter 实现,例如HeaderRequestFilter,我想让它为每个请求实例化。我正在使用 Spring 和 Jersey 。我尝试将 @Scope
我刚刚开始学习如何编写 REST Web 服务代码,并且已经坚持了好几天了。我正在使用 Jersey 2 编写一个具有基于 header 的过滤功能的示例应用程序,并部署在 Tomee-plus 1.
我们计划为我们的 REST API 使用 Jersey 的引用实现。作为原型(prototype)工作,我也在使用 ContainerRequestFilters 并实现了其中的多个。有没有一种方法可
我正在尝试通过创建一个小的 RESTful 服务来学习 Jersey 。我想出于特定原因使用过滤器(就像我想使用 ContainerResponseFilter for CORS header 以允许
我正在使用 dropwizard 和 Jersey ,我通过以下方法定义了 ContainerRequestFilter 的自定义提供程序 import javax.ws.rs.ext.Provide
为了验证 api key ,我使用 ContainerRequestFilter 来读取 JSON 负载并解析 api key 。我有以下方法。 public ContainerRequest fil
我正在尝试在 Tomcat 8 中使用 RESTeasy 3.0.17FINAL 实现身份验证过滤器。这里有我的 web.xml 条目。 org.jboss.restea
我知道过滤器是用来处理请求的,并且可以用 http header 和 httpmethods 做一些事情,但是我很困惑 clientrequestfilter 和 containerrequestfi
我有一个 Jersey REST API 并且正在使用 ContainerRequestFilter 来处理授权。我还在所有端点上使用 @ManagedAsync,这样我的 API 就可以为数千个并发
我如何/应该如何将对象从 ContainerRequestFilter 传递到 (JAX-RS) Resteasy 版本 3.0.11 中的(匹配后)资源,该版本嵌入了 undertow 并使用了 G
我有点难以理解其余拦截器注释如何添加不同的值,这些值稍后会在过滤器中可见。鉴于下面的代码,我希望一旦进入过滤器,权限值就会包含 foo 和 bar,但它们是空的。任何帮助将不胜感激。 注释 packa
我正在使用 JAX-RS/Jersey 开发 WebService。 我设置了一个ContainerRequestFilter,其目的是验证用户。我只需要通过身份验证保护一些路径,其余的就可以提供给所
我有一个受 Shibboleth(SSO 实现)保护的 Jersey API。 Shibboleth 将登录用户的 ID 放入请求属性中。在后端,我使用 Shiro 进行授权。 Shiro 希望了解登
我正在尝试获取 ContainerRequestFilter 对象中的方法注释。 Controller : @GET @RolesAllowed("ADMIN") public String mess
我有这门课,想记录休息请求: public class RequestFilter implements ContainerRequestFilter { private static fin
我有下面的代码,它工作正常。我的问题是代码下面的天气是否是线程安全的。通过阅读 Servlet Filter 和 Container*Filter 概念,我感到困惑。 如何使这个过滤器成为线程安全的?
我是一名优秀的程序员,十分优秀!