有没有可能在spring中使用aspectj或者其他特性来拦截一个HTTP请求,然后根据一些逻辑返回而不执行目标方法?我正在尝试围绕我的 Web 服务创建一个包装器以进行额外控制,该 Web 服务正在使用 Jersey REST API,因此我无法使用 spring 拦截器,并且过滤器可能无法访问我需要的功能。
谢谢
有没有可能在spring中使用aspectj或者其他特性来拦截一个HTTP请求,然后根据一些逻辑返回而不执行目标方法?我正在尝试围绕我的 Web 服务创建一个包装器以进行额外控制,该 Web 服务正在使用 Jersey REST API,因此我无法使用 spring 拦截器,并且过滤器可能无法访问我需要的功能。
谢谢
AspectJ旨在用于字节码的横切,而不是用于拦截 HTTP 请求。
servlet 过滤器更适合拦截Jersey
REST
请求,特别是实现ContainerRequestFilter的过滤器。将需要以下部分web.xml
:
<init-param>
<param-name>com.sun.jersey.spi.container.ContainerRequestFilters</param-name>
<param-value>my.package.to.MyFilterClass</param-value>
</init-param>
请参阅此处了解更多信息