Никогда не стоит использовать /**
для обработки ваших запросов.Используйте специальные методы обработчиков, чтобы пометить их @RequestMapping
Кроме того, статические ресурсы необходимо обрабатывать с использованием статических обработчиков ресурсов.В вашем классе конфигурации, который расширяет WebMvcConfigurerAdapter
, вам необходимо добавить обработчики для таких ресурсов.Вот пример такого файла:
@Configuration
public class WebConfigurations extends WebMvcConfigurerAdapter {
private static final String[] CLASSPATH = {"classpath:/static/"};
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
super.addResourceHandlers(registry);
if (!registry.hasMappingForPattern("/**")) {
registry.addResourceHandler("/**")
.addResourceLocations(CLASSPATH);
}
}
}
Эта конфигурация предполагает, что ваши статические ресурсы обслуживаются из каталога resources/static
.
РЕДАКТИРОВАТЬ: Как выупоминается в комментарии, что вы хотите обрабатывать запросы типа /tag1/channel1
и т. д., хороший способ сделать это - использовать переменные пути.Следующая аннотация должна помочь: @RequestMapping("/{tag}/{channel}")
и использовать String
аргументы в методе контроллера.Вот образец:
@RequestMapping("/{tag}/{channel}")
public String usefulMethodName(@PathVariable String tag, @PathVariable String channel) {
...
}