spring - Aspectj - 拦截 HTTP 请求

标签 spring http aspectj interceptor

有没有可能,在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>

参见 here了解更多信息

关于spring - Aspectj - 拦截 HTTP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15556381/

相关文章:

java - 需要 mysql 的 hibernate 属性

c# - 页面源码怎么能省略某些东西

java - Spring\AspectJ 错误

java - Spring @Transactional 提交失败; Deby + Eclipse链接

spring - 用于 Spring 项目中生产代码的 RestTemplate vs Apache Http Client

java - Instanceof Collection 未按预期运行

http - RFC 5988 是否允许在 HTTP 链接 header 中使用空格?

node.js - Angular 2 向 Node/Express 服务器端点发送请求

java - AspectJ 切入点表达式匹配任意位置的参数注释

kotlin - 在 Kotlin 项目中使用 Freefair AspectJ 插件(使用 gradle)