Web-приложение имеет такой контроллер:
@RestController
@RequestMapping("/")
public class HttpRequestController implements ControllerConstants {
@Autowired
private ApplicationContext context;
@Autowired
private ApiService apiService;
@RequestMapping(value = "/{version}/**", method = {GET, POST, PUT, DELETE})
public Object handleHttpRequest(@PathVariable("version") String version, HttpServletRequest request) {
final Api api = apiService.getApiByVersion(version);
if ( api == null ) {
throw new NotFoundException("Api with version " + version + " not founded");
}
//далее вызов методов api
}
@RequestMapping("/example/{example}.html")
public ModelAndView getExample(@PathVariable("example") String example) {
return new ModelAndView("example/" + example);
}
}
И такой конфиг:
@Configuration
@EnableWebMvc
@ComponentScan()
public class SpringWebConfig extends WebMvcConfigurerAdapter {
@Bean
public InternalResourceViewResolver getInternalResourceViewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/");
resolver.setSuffix(".html");
return resolver;
}
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
@Bean
public WebContentInterceptor webContentInterceptor() {
WebContentInterceptor interceptor = new WebContentInterceptor();
interceptor.setCacheSeconds(0);
interceptor.setUseExpiresHeader(true);
interceptor.setUseCacheControlHeader(true);
interceptor.setUseCacheControlNoStore(true);
return interceptor;
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(webContentInterceptor());
}
}
В директории
WEB-INF есть директория
example, в которой лежит файл
some.html.
Приложение развернуто на Tomcat-е с контекстным путем
/api.
Когда я оправляю запрос
localhost:8080/api/v1/someMethod, то вызов правильно обрабатывается, метод вызывается и результат отправляется клиенту. Когда я отправляю запрос
localhost:8080/api/example/some.html, то в ответ получаю следующую ошибку:
.
Подскажите, как сделать так, чтобы при запросах вида
localhost:8080/api/example/some.html возвращалась запрошенная страница?