Редактировать
Я думаю, что есть некоторая путаница, я не использую оба перечисленных ниже метода в моем контроллере.Я просто использую "doMethod (запрос HttpServletRequest)".Мой совет применим и работает соответственно.Моя проблема заключается в том, что doMethod (запрос HttpServletRequest) не нуждается в аргументе HttpServletRequest, его использует только совет, который применяется к нему.Поэтому мне было интересно, смогу ли я изменить свой метод с «doMethod (запрос HttpServletRequest)» на «doMethod ()», но все же смогу перехватить HttpServletRequest с помощью примененного к нему совета (потому что я знаю, что у источника где-то есть доступ к нему)1009 *
В Spring MVC у вас может быть такой метод:
@RequestMapping
public void doMethod() {
//some logic here
}
И если мне понадобится какой-то другой аргумент, я могу изменить его следующим образом:
@RequestMapping
public void doMethod(HttpServletRequest httpServletRequest) {
//some logic with request
}
И Springбудет делегировать тот же метод в любом случае, но заполните для меня аргумент, если я добавлю его через какое-то волшебство (чего я не понимаю)
У меня вопрос, когда я делаю aop так:
@Before(value=(execution(* * com.domain.package.doMethod(..)), argNames=httpServletRequest)
public void advice(HttpServletRequest httpServetRequest) {
//some before advice
}
Это имеет смысл при применении ко второму определению метода, но как я могу заставить это работать с первым, если оно не содержит аргумента 'HttpServletRequest'?