2016-12-19 129 views
0

正在使用Spring Boot实现Swagger 2。使用依赖关系 -Spring Boot部署策略

<dependency> 
      <groupId>io.springfox</groupId> 
      <artifactId>springfox-swagger2</artifactId> 
      <version>2.4.0</version> 
     </dependency> 
     <dependency> 
      <groupId>io.springfox</groupId> 
      <artifactId>springfox-swagger-ui</artifactId> 
      <version>2.4.0</version> 
     </dependency> 

它的效果很好。但是想要在生产 招架不进行部署。也可以以不同于在不同主机上构建的应用程序来托管swagger构建吗?

回答

1

有两种方法可以做到这一点。

  1. Maven的轮廓

    通过intrudue喜欢 '招摇' 一个maven配置文件和springfox-swagger-ui相关depdencenty添加到此Maven的配置文件。也许你需要在java代码中使用一些swagger注释,所以它不能消除springfox-swagger2依赖关系。

  2. 春季轮廓(应比选项1越多越好)

    对于标准弹簧引导swagger2配置类,例如,你可以添加@Profile("swagger") annoation,只启用swagger2集成应用程序添加spring.profiles.active=swagger时运行。

对于不同的主机上,我没有关于这个想法,但我的理解,昂首阔步将选择所有春天启动端点所以假设你不能让他们独立。但有一个library它可以提供一种方式发布弹簧启动执行器上的springfox-swagger2。因此您可以在application.properties中添加management.port=8181属性以使spring-boot-actuator在另一个TCP端口上运行。

+0

感谢Liping的回复..但是使用配置文件时,带有注释@ EnableSwagger2的类仍然会被加载,并且默认情况下会激活swagger。 – Rameez

+0

@Rameez通过使用''Profile'',如果相应的配置文件没有激活,这个bean将不会被处理。 –

+0

谢谢你。 – Rameez