最近我正在寻找如何HttpServletRequest在启动控制器逻辑之前更改对象的标头和主体,我发现实现这一点的唯一方法是通过一个方面,这个解决方案都很好,但问题是我有很多控制器类,我需要更改这些控制器中特定标头的值,我已经在我的方面添加了所有类:
@Pointcut("execution(* com.mypackage.Controller1..*(..)) || " +
"execution(* com.mypackage.Controller3.someMethod*(..))
//A lot of methods and packages
private void anyMethodWithHeader(){
@Around("anyMethodWithHeader()")
public ResponseEntity<Map<String, Object>> changeHeaderValue(ProceedingJoinPoint jp) throws Throwable{
//Here I got the object array with the arguments that I need
所以我的问题是:有一种方法@PointCut可以将正则表达式或条件或类似的东西放在一行或两行中,以获得特定的标题?
我的意思是,我有很多控制器,这些控制器接收到很多标头,但我只想更改名为 的标头的值test-token,我想要的只是避免每次在我的方面多添加一行我在我的项目中添加了一个新控制器。
我试图@RequestHeader在我的方面和其他东西中添加包,但没有任何效果。
感谢您的评论。