我正在使用Kotlin + Spring-boot 2构建示例API 我想为自定义拦截器排除一些路径。但它不起作用。我试图从其他问题中寻求帮助,但是他们两个都没有奏效。 我不想添加XML配置。我想使用Java配置。
我尝试了所有可能的组合以使拦截器正常工作,但拦截器并未排除配置中定义的路径。 我正尝试致电的网址 http://localhost:8080/v1/greet/gajendra http://localhost:8080/swagger-ui.html
@Configuration
class ApigwConfig : WebMvcConfigurer {
private val LOGGER : Logger = LoggerFactory.getLogger(ApigwConfig::class.java)
private var EXCLUDE_PATTERN = mutableListOf("**/login",
"**/health",
"**/greet/**",
"/error/**",
"/v2/api-docs",
"/configuration/ui",
"/swagger-resources/**",
"/configuration/**",
"/swagger-ui.html",
"/webjars/**")
@Autowired
lateinit var sessionCheckInterceptor: SessionCheckInterceptor
override fun addInterceptors(registry: InterceptorRegistry ) {
LOGGER.info("Initialize SessionCheckInterceptor interceptor")
registry.addInterceptor(sessionCheckInterceptor)
.addPathPatterns("/**")
.excludePathPatterns(EXCLUDE_PATTERN)
}
}
对“ / v1 / greet / gajendra”的请求应该绕过sessionCheckInterceptor
,但是Interceptor
不能绕开。