applicationContextPath

applicationContextPath

我希望我的服务器从 / 提供静态 html 文件。此外,css 和 js 文件应该分别从 /css /js 提供。所有 json 数据都应该可以在 /api 访问。

但是,我得到 http://localhost:8080/ 或任何其他路径的 404。

我在配置文件中使用以下设置:

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"));
}

最佳答案

我刚刚解决了一个类似的问题(The documentation 不是最清楚的,虽然事后看来我猜大部分信息都在某处),我已经通过在我的应用程序配置中设置 applicationContextPathrootPath 解决了这个问题:

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

default value for applicationContextPath is " /application " in a simple server ,因此您的完整根路径将是“/application/api/* ”。如果您不需要使用简单服务器,您也可以使用默认服务器,它的 applicationContextPath 默认设置为“/ ”:
server:
  rootPath: /api/*

关于path - Dropwizard 0.8.0 : serve static assets from/,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29848159/

10-09 16:37