Spring MVC - регистрировать каждый входящий запрос http с полезной нагрузкой в ​​базу данных - PullRequest
0 голосов
/ 20 сентября 2018

экспертов, я бы регистрировал каждый входящий http-запрос с полезной нагрузкой в ​​базу данных.Я проверил, что будет 2 подхода.использовать фильтр или перехватчик.Я чувствую, что фильтр легче реализовать.что будет лучшим подходом для моей цели?пожалуйста, пожалуйста, сообщите.большое спасибо!

Ответы [ 2 ]

0 голосов
/ 20 сентября 2018

Использовать Spring AOP.Воспользуйтесь любым советом в соответствии с вашими потребностями.

@Aspect
@Component
public class Test {


@Around("@annotation(mapping)  ")
public Object preAuthUserPersmission(ProceedingJoinPoint joinPoint, RequestMapping mapping) throws Throwable {

Object[] parameters = joinPoint.getArgs();
 // Your actions on the input parameters
    return joinPoint.proceed(joinPoint.getArgs());
 }
}
0 голосов
/ 20 сентября 2018

если вам нужно сделать что-то полностью общее (например, протоколировать все запросы), тогда достаточно фильтра - но если поведение зависит от целевого обработчика или вы хотите что-то сделать между обработкой запроса и рендерингом представления, тогдаHandlerInterceptor обеспечивает такую ​​гибкость.

Но в любом случае, просто сделайте так, чтобы вы чувствовали себя легко и просто.

Примечание:

  • Работа перехватчика в контексте приложения Spring
  • Работа сервлета в веб-контексте
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...