У меня есть приложение springboot с настроенным contextPath (/ api) в моем serveur, но не в localhost на моем компьютере разработчика.
Поэтому у меня есть контроллер rest, как mapp следующий URL:
- в locathost моего компьютераhttp://localhost:8080/article/last-articles
- на моем сервере https: /// api / article / last-Articles
В моем приложении у меня есть HandlerInterceptorAdapter (FirebaseTokenInterceptor), как это инициализируется следующим образом
@Configuration
class WebMvcConfig : WebMvcConfigurer {
@Autowired
lateinit var firebaseTokenInterceptor : FirebaseTokenInterceptor
var logger = LogFactory.getLog(WebMvcConfig::class.java)
@Value("#{servletContext.contextPath}")lateinit private var contextPath : String
override fun addInterceptors(registry: InterceptorRegistry?) {
super.addInterceptors(registry)
logger.debug("contextPath : ${contextPath}")
//take care about context path to adapt rules
var articlePath = "${contextPath}/article/**"
logger.debug("rule : ${articlePath}")
registry?.addInterceptor(firebaseTokenInterceptor)?.addPathPatterns(listOf(articlePath))
}
}
Он работает на моем локальном хосте, но не на моем сервере, перехватчик не вызывается.Я пытаюсь с и без добавления contextPath в начале правила с тем же результатом.
Вход на сервер или OK
2018-09-19 15:03:34.972 DEBUG 1 --- [ main] c.p.e.api.configuration.WebMvcConfig : contextPath : /api
2018-09-19 15:03:34.977 DEBUG 1 --- [ main] c.p.e.api.configuration.WebMvcConfig : rule : /api/article/**