Hello, I found it didn't make sense to intercept swagger
when I use javaConfig
on interceptor configuration.
When xml and javaConfig are used in the same interceptor, javaConfig didn't work on swagger /v2/api-doc.
Also, I create a demo about this issue [https://github.com/minggen/springmvc-questions], and the issue could be reproduced when modifying com.example.demo.config.AutoConfig
.
-
When using xml configuration, there is no return value after calling http://localhost:8080/v2/api-docs .
-
When using annotation configuration, the right return value would not be intercepted properly.
When I try to figure out the reason, in this line of code, I found InterceptorRegistration
will wrap the custom interceptor into an instance of the MappedInterceptor
class, and then put the instance into interceptors
, but not into the applicationContext
, so that adaptedInterceptors
cannot be added for PropertySourcedRequestMappingHandlerMapping
. As a result, the interceptor will not take effect.
mappedInterceptors.addAll(
BeanFactoryUtils.beansOfTypeIncludingAncestors(
obtainApplicationContext(), MappedInterceptor.class, true, false).values());