【发布时间】:2018-10-10 19:40:28
【问题描述】:
Dropwizard 版本 1.3.0-rc6
大多数关于提供静态内容的文档都是针对旧版本的,甚至 Dropwizard Manual 中的更新文档也不完全适合我。
我想提供一个静态 html 文件。我已经修改了提供这些资产的结构/路径,但在我的环境中无法完全正确配置。
静态内容位于以下结构下
src/main/
├── java
│ └── 组织
│ └── com
│ └── 查询
│
│ ├── 休息
│ │ ├── api
│ │ ├── cli
│ │ ├── 核心
│ │ ├── 分贝
│ │ ├── 健康
│ │ ├── 资源
│ │ ├── 任务
│ │ └── 浏览量
│
├── 资源
│ ├── META-INF
│ │ ├── bin-license-notice
│ │ │ └── 许可证
│ │ └── 服务
│ └── 休息
│ ├── ftl
│ └── 小胡子
└── 网页应用
├── WEB-INF
│ └── 浏览量
│ └── jsp
└── 资源
└── 核心
├── css
└── js
multiFileUpload.html 在src/main/webapp/resources/core 目录中,这最终是我想要服务的。但是,这与 src/main/resources/assets/ 的 dropwizard 标准不同。
我需要扩展构造函数来指定单个 AssetBundle,因为我计划拥有多个 AssetBundle 实例。这就是我的应用程序初始化方法中的内容。
@Override
public void initialize(Bootstrap<HelloWorldConfiguration> bootstrap) {
bootstrap.addBundle(new AssetsBundle("/webapp/resources/core/*", "/", null, "/MultiFileUpload.html"));
}
我还在应用程序运行方法中设置了一个 urlPattern。
environment.jersey().setUrlPattern("/rest/*");
我的 config.yml 中的根路径是rootPath:/rest/*
我有一个应该提供 .html 文件的端点。 localhost:port/rest/upload/multiFile
我几乎可以肯定这些路径之一不正确,但我已尝试根据文档示例更改它们,但没有任何运气。
【问题讨论】:
-
你是如何运行 Dropwizard 的?摇篮?马文?主意?我怀疑您的问题是
webapp不是您的任何资源路径的一部分,因此 DW 看不到它。尝试将其挂载为绝对路径,如果可行,则为类路径问题 -
我正在使用 Maven 运行。
webapp只是一个包含静态内容的子目录。文件上传服务本身已经注册在我的 DW 应用的环境配置中。我会看看提供完整绝对路径的作用。 @tddmonkey -
我选择将它移到 dropwizard 的传统结构下。仍然无法让 .html 文件显示在所需的端点
标签: java rest dropwizard