gpt4 book ai didi

java - 我可以在简单的 Meecrowave 项目中结合 REST 类和静态资源吗?

转载 作者:行者123 更新时间:2023-11-30 05:47:24 24 4
gpt4 key购买 nike

我有两个想要合并的 Maven Meecrowave 项目。- 第一个项目是一个简单的类,有一个主要方法:- 第二个项目仅包含静态 html 文件。

为了避免出现 XSS 或 CSRF 错误,我想合并这两个项目。

我已将 java 类和 html/js 文件合并到一个项目中java 在 src/main/java 中HTML/JS 位于 src/main/resources/www

我尝试在 POM 配置文件中设置“webapp”。这似乎被扫描 REST 装饰器的类覆盖。

public static void main(String... args) throws Exception {
try (final Meecrowave meecrowave = new Meecrowave().bake()) {
new Scanner(System.in).nextLine();
} finally {

}
}

我的 REST Controller 如下所示:

@Path("modules")
@ApplicationScoped
@Produces("application/json")
public class MyApplication {
...
@GET
public List<Module> getModules() {
return modules;
}
}

Maven POM 文件包含如下所示的插件:

<build>
<resources>
<resource>
<directory>${frontend.base}</directory>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.meecrowave</groupId>
<artifactId>meecrowave-maven-plugin</artifactId>
<version>${mw.version}</version>
<configuration>
<httpPort>8082</httpPort>
<webResourceCached>false</webResourceCached>
<webapp>${frontend.base}/www</webapp>
</configuration>
</plugin>
</plugins>
</build>

我希望能够浏览到我的 HTML 文件: http://localhost:8082/

我希望能够浏览到我的 Java REST 资源: http://localhost:8082/modules

最佳答案

默认情况下,jaxrs 应用程序绑定(bind)在/* 上,因此与资源重叠,请尝试添加 @ApplicationPath("/api") 左右以将其余端点放在 api 子上下文下,它应该可以工作。

关于java - 我可以在简单的 Meecrowave 项目中结合 REST 类和静态资源吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54612888/

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