gpt4 book ai didi

java - 带有 Wildfly Swarm CORSFilter 的 REST API

转载 作者:行者123 更新时间:2023-12-02 02:58:54 25 4
gpt4 key购买 nike

我已经使用 Wildfly Swarm 开发了 REST API,我想引入 CORS 过滤器,我的要求是所有 header /值都应该在外部资源中进行配置。

我已经实现了 CORSFilter 但具有硬编码 header 值,但现在我希望它可针对生产环境进行配置。

有人可以指导我吗?

最佳答案

我使用属性文件来解决这个问题。

我有以下文件

  • src/main/resources/cors.properties
  • src/main/resources/cors.stage.properties
  • src/main/resources/cors.prod.properties

我使用 maven-antrun-plugin 根据所选的 maven 配置文件使用正确的属性文件。

<profile>
<id>prod</id>
<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>test</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<delete file="${project.build.outputDirectory}/cors.properties"/>
<copy file="src/main/resources/cors.prod.properties"
tofile="${project.build.outputDirectory}/cors.properties"/>
<delete file="${project.build.outputDirectory}/cors.stage.properties"/>
<delete file="${project.build.outputDirectory}/cors.prod.properties"/>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>

请查看https://maven.apache.org/guides/mini/guide-building-for-different-environments.html完整的 Maven 配置。

然后您可以从资源中加载属性,迭代它们并添加 header

Properties properties = new Properties();
InputStream in = getClass().getClassLoader().getResourceAsStream("cors.properties");
properties.load(in);
in.close();

for (String name : properties.stringPropertyNames()) {
addHeader(name, properties.getProperty(name));
}

关于java - 带有 Wildfly Swarm CORSFilter 的 REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42664257/

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