【发布时间】:2021-02-04 20:42:02
【问题描述】:
我希望我的 HandlerInterceptor 在我的 Spring Boot 应用程序中不运行管理端口上的请求。
management.port = 9091
我可以想到两种方法,但我正在寻找一种更标准的方法。
一个是从 HandlerInterceptor 中检查端口:
@Override
public boolean preHandle(@NonNull HttpServletRequest request, @NonNull HttpServletResponse response, @NonNull Object handler) {
if(request.getLocalPort() == managementPort){
return true;
}
else{
....
}
}
第二个是在注册拦截器时排除所有与managementPort相关的路径:
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(myInterceptor).excludePathPatterns(managementPortEndpoints);
}
这很容易不同步。
有没有更原生的方法来实现它? (某种弹簧配置)
【问题讨论】:
标签: java spring spring-boot interceptor handlerinterceptor