我使用此处找到的 TomcatEmbeddedServletContainerFactory 说明从 http 重定向到 https:
http://drissamri.be/blog/java/enable-https-in-spring-boot/
然而,这会破坏其余 Controller 的测试,即使它使用一个应用程序来运行不包含或引用执行重定向的 TomcatEmbeddedServletContainerFactory 配置的测试。
如果我从包含运行应用程序的@SpringBootApplication 注释的应用程序中删除重定向配置,则测试通过。
知道如何在不破坏 Rest Controller 配置的情况下保持应用程序的生产配置吗?
TIA, - 奥莱
最佳答案
如果您不想在测试中的 Application.java 中使用 TomcatEmbeddedServletContainerFactory,您可以随时使用 Spring profiles 添加工作以确保仅当您使用特定配置文件(例如生产)启动应用程序时才加载 bean。
然后 @Bean TomcatEmbeddedServletContainerFactory 将有一个 @Profile("production") 注释,并且您的测试不会创建该 bean,除非您正在明确使用生产配置文件。
当您提供有关问题的更多信息时,我会更新此答案。
关于java - Spring 从 Http 重定向到 Https 中断 Rest Controller 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30746309/