Me encuentro con este problema porque tengo una aplicación que tiene servicios relajantes, pero también necesito servir algunos estáticos. En esta aplicación también uso la anotación EnableSwagger2 . Parece que esta clase es pública y podría subclasificarla, pero no estoy seguro de cómo configurarla. Mi objetivo es anular esta línea para poder controlar los 404.
Así que finalmente hice esto y funcionó con éxito para mí. La configuración me atrapó un poco, pero aquí está. Digamos que subclase ResourceHttpRequestHandler con uno llamado CustomResourceHandler . En mi Application.java esto lo conectó correctamente:
@Bean public ResourceHttpRequestHandler resourceHttpRequestHandler() { ResourceHttpRequestHandler requestHandler = new CustomResourceHandler(); requestHandler.setLocations(Arrays.<Resource>asList(applicationContext.getResource("/"))); return requestHandler; } @Bean public SimpleUrlHandlerMapping sampleServletMapping(){ SimpleUrlHandlerMapping mapping = new SimpleUrlHandlerMapping(); mapping.setOrder(Integer.MAX_VALUE - 2); Properties urlProperties = new Properties(); urlProperties.put("/**", "resourceHttpRequestHandler"); mapping.setMappings(urlProperties); return mapping; } @Autowired ApplicationContext applicationContext;