java.net.URL удаляет часть абсолютного пути для URL `file` - PullRequest
1 голос
/ 19 июня 2019

Я пытаюсь убедиться, что настройка 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

, что мне кажется неправильным.

Есть идеи, пожалуйста?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...