Я пытаюсь убедиться, что настройка ResourceHandlerRegistry
в моем приложении Spring Boot будет поддерживать статические ресурсы на основе пути, например:
registry
.addResourceHandler("/static/**")
.addResourceLocations("file:///home/alex");
Однако мои ресурсы используются на 404, например,GET localhost:8080/static/blah/1234.txt
не разрешается.
Я заметил, что, перебирая код PathResourceResolver
, он делает следующий вызов:
Resource resource = location.createRelative(resourcePath);
, что для file
-схемы URLприводит к вызову FileUrlResource.createRelative
, который возвращает новый FileUrlResource
:
return new FileUrlResource(new URL(getURL(), relativePath));
, который фактически оценивается как неверный URL, потому что последняя часть абсолютного пути от URL, возвращенного из getURL()
, усекается, например:
new java.net.URL(new URL("file:///home/alex"), "blah.txt")
приводит к:
file:/home/blah.txt
, что мне кажется неправильным.
Есть идеи, пожалуйста?