gpt4 book ai didi

java - 有条件地公开 Spring Web 服务操作

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

我们在应用程序中使用 Spring Web 服务,并且需要进行一项新操作,用于内部测试,仅在我们的开发和测试环境中可用。我知道如何在 Axis 中处理这样的要求(我们有一个这样的模块,我们只需在 wsdd 中的“allowedMethods”参数中添加或删除操作),但我不知道如何在 Spring 中实现这一点,并且还没有'在网上搜索的运气很好。我们有什么选择?

最佳答案

Spring 配置文件将为您提供帮助:

https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-profiles.html

@Configuration
@Profile("dev")
public class ProductionConfiguration {

// ...

}

您可以在 Bean 上使用配置文件:

@Component
@Profile("dev")
public class DevDatasourceConfig

或者在 XML 中:

<beans profile="dev">
<bean id="devDatasourceConfig"
class="org.baeldung.profiles.DevDatasourceConfig" />
</beans>

您还可以指定 WebApplicationInitializer 使用的配置文件:

@Configuration
public class MyWebApplicationInitializer implements WebApplicationInitializer {

@Override
public void onStartup(ServletContext servletContext) throws ServletException {
servletContext.setInitParameter("spring.profiles.active", "dev");
}
}

@Autowired
private ConfigurableEnvironment env;
...
env.setActiveProfiles("dev");

或 web.xml:

<context-param>
<param-name>spring.profiles.active</param-name>
<param-value>dev</param-value>
</context-param>

或 JVM 参数:

-Dspring.profiles.active=dev

或环境变量:

export spring_profiles_active=dev

关于java - 有条件地公开 Spring Web 服务操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51142674/

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