В настоящее время я работаю над предоставлением статической HTML-страницы в Dropwizard по корневому пути "/".До сих пор я только получил страницу с сообщением об ошибке «Ошибка HTTP 404 при доступе к /. Причина: не найдена».
Я следовал документации Dropwizard для 1.2.2 вделать это, а также этот учебник здесь , с некоторыми изменениями в коде, чтобы мои службы работали.Мой корневой путь в моем файле .yml /profile/v1
, чтобы позволить моим сервисам getAll работать (когда я только начинал, я получал сообщение об ошибке Multiple servlets map to path /*
. .Yml выглядит так:
server:
type: simple
applicationContextPath: /
rootPath: /profile/v1
Кроме того, моя инициализация в основном классе приложения:
@Override
public void initialize(final Bootstrap<AutomationConfigServiceConfiguration> bootstrap) {
bootstrap.addBundle(new AssetsBundle("/../resources", "/", "index.html"));
}
Это зарегистрировано на Джерси как:
environment.jersey().setUrlPattern("/*");
, где /resources
- это каталог, который я хранюмои статические активы за пределами каталога java
.
До сих пор мне удавалось заставить мои службы нормально работать в этой настройке. Например, когда я захожу в localhost: 8080 / profile /v1 / name / getAll, я могу извлечь все имена из базы данных, и если я перехожу на localhost: 8080 / profile / v1 / title / getAll, я получаю все заголовки из базы данных. Если я использую localhost: 8080, с или без "/", я просто получаю страницу 404, говоря, что не может найти "/". Теоретически это должно быть очень просто, поэтому я не уверен, что еще мне следует делать.
Редактировать:
Когда я захожу в / profile / v1, я получаю следующее:
{
code: 404,
message: "HTTP 404 Not Found",
}
Я должен упомянуть, что я нене хочу, чтобы мой HTML был подан здесь;Я бы хотел, чтобы он обслуживался с правами root, поскольку путь / профиль / v1 используется всеми моими службами.Это было запрошено, чтобы помочь настроить DNS.