Сопоставление ресурсов Spring MVC с точкой в ​​URL - PullRequest
0 голосов
/ 19 мая 2018

Я пытаюсь добавить поддержку в наше приложение для iOS для Универсальные ссылки .Таким образом, наш сервер должен обслуживать файл json по пути /.well-known/apple-app-site-association.Я создал файл с именем apple-app-site-association в папке src/main/resources/well-known/ и добавил следующее в нашу конфигурацию приложения:

@Override
public void addResourceHandlers(final ResourceHandlerRegistry registry)
{
    registry.addResourceHandler(".well-known/**").addResourceLocations("classpath:/well-known/");
}

Однако это приводит к 404 с сервера.Попробовав много разных вещей, я обнаружил, что если я выберу точку следующим образом:

@Override
public void addResourceHandlers(final ResourceHandlerRegistry registry)
{
    registry.addResourceHandler("well-known/**").addResourceLocations("classpath:/well-known/");
}

и перейду к /well-known/apple-app-site-association, все будет работать отлично.Однако в URL-адресе должен быть указан ..

Можно ли как-нибудь это сделать?Мы используем Spring 4.3.7 и Spring Boot 1.4.5.

1 Ответ

0 голосов
/ 21 мая 2018

Пока я копался в этом, я увидел в Javadoc для addResourceHandler следующее:

Patterns like "/static/**" or "/css/{filename:\\w+\\.css}"} are allowed.

Итак, я обновил отображение, чтобы оно выглядело следующим образом:

registry.addResourceHandler("{filename:\\.well-known}/**").addResourceLocations("classpath:/well-known/");

После этого изменения все заработало как положено.Я обнаружил, что не имеет значения, что ставится перед двоеточием, и вот что я в итоге получил:

registry.addResourceHandler("{wellKnownFolder:\\.well-known}/**").addResourceLocations("classpath:/well-known/");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...