gpt4 book ai didi

dropwizard - 在 Dropwizard 0.7.1 中从基本 URL 提供静态内容

转载 作者:行者123 更新时间:2023-12-03 03:42:21 27 4
gpt4 key购买 nike

使用 Dropwizard 0.6.2 很容易做到这一点,但随着迁移到 0.7.x,它变得更加困难。我可以让它工作,但不是以完全合适的方式。我希望我的 RESTful API 在“/api/*”点可用,并且静态内容可从根 URL“/”获取。

我目前在 0.7.1 中能实现的最好效果是从“/api/”提供 API 内容,并从“/api/assets/”提供静态内容。这并不可怕,但如果我能实现最初设定的目标,事情就会变得更好。我尝试过配置 AssetBundle() 的各种排列,尝试使用 https://github.com/bazaarvoice/dropwizard-configurable-assets-bundle ,尝试采用我在源代码中看到的内容并创建我自己的专用 StaticAssetsBundle 类,但均无济于事。

我现在所做的工作(设法从“/api/assets/*”提供静态内容)如下:

public void initialize(Bootstrap<ConfigConfiguration> bootstrap) {
bootstrap.addBundle(new AssetsBundle());
}

..在我的配置文件中我有...

server:
type: simple
connector:
type: http
port: 8458
applicationContextPath: /api
.....

谁能给我一个简洁且完整的示例,说明如何实现从“/”提供静态内容,同时仍保留在“/api/*”提供 API 服务?我进行了广泛的搜索,找到了提示、部分答案、似乎在 0.7.1 中不起作用的答案,并且准备放弃并从完全独立的服务器实例(这是也许 DW 的人认为我应该这样做)。

最佳答案

在您的应用程序中进行类似的操作怎么样:

@Override
public void initialize(Bootstrap<ExampleConfiguration> bootstrap) {
// Static assets are in src/main/resources/assets
bootstrap.addBundle(new AssetsBundle("/assets", "/"));
}

@Override
public void run(ExampleConfiguration configuration, Environment environment) throws Exception {
environment.jersey().setUrlPattern("/api/*");
}

关于dropwizard - 在 Dropwizard 0.7.1 中从基本 URL 提供静态内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26610502/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com