2015-04-24 2 views
4

Я хочу, чтобы мой сервер обслуживал статические html-файлы с /. Кроме того, файлы css и js должны подаваться от /css соответственно, /js. Все данные json должны быть доступны по адресу /api.Dropwizard 0.8.0: показывать статические активы из/

Однако, я получаю 404 для http://localhost:8080/ или любым другим путем.

Я использую следующие настройки в конфигурационном файле:

server: 
    type: simple 
    rootPath: /api/* 

Метод application.initialize выглядит следующим образом:

@Override 
public void initialize(io.dropwizard.setup.Bootstrap<MyConfiguration> bootstrap) { 
    bootstrap.addBundle(new AssetsBundle("/assets/css", "/css", null, "css")); 
    bootstrap.addBundle(new AssetsBundle("/assets/js", "/js", null, "js")); 
    bootstrap.addBundle(new AssetsBundle("/assets/pages", "/", "index.html", "html")); 
} 

ответ

6

Я просто должен был работать через подобную проблему (The documentation не самый ясный, хотя с ретроспективностью я предполагаю, что большая часть информации есть где-то), что я решил, установив как applicationContextPath, так и rootPath в моей конфигурации приложения:

server: 
    type: simple 
    rootPath: /api/* 
    applicationContextPath:/

default value for applicationContextPath is "/application" in a simple server, поэтому ваш полный корневой путь был бы «/application/api/*». Если вам не нужно использовать сервер простого, можно альтернативно использовать по умолчанию сервера, который имеет applicationContextPath установлены в «/» по умолчанию:

server: 
    rootPath: /api/* 
+0

идеального ответ. – Chetan

+0

Согласен, нет четкой документации, для такого мощного инструмента, как Dropwizard, спасибо! – acabra85

+0

блестящий, этот ответ, сделанный днем – SoftwareDeveloper

Смежные вопросы