0

我正在使用 Spring Boot 实现 swagger 2。使用依赖项-

<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 的方式来实现 swagger。是否可以将 swagger 构建与不同主机上的应用程序构建不同?

4

1 回答 1

0

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

  1. Maven 简介

    通过侵入一个像'swagger'这样的maven配置文件并将springfox-swagger-ui相关的depdencenty添加到这个maven配置文件中。因为也许你需要在java代码中使用一些swagger注解,所以它不能消除springfox-swagger2依赖。

  2. 弹簧型材(应该比选项1更好)

    例如,对于标准的 spring-boot swagger2 配置类,您可以添加注释以仅在添加应用程序运行@Profile("swagger")时启用 swagger2 集成。spring.profiles.active=swagger

对于不同的主机,我对此一无所知,但据我所知,swagger 会选择所有的 spring boot 端点,所以假设你不能不理会它们。但是有一个可以提供一种在 spring boot 执行器上发布 springfox-swagger2 的方法。因此您可以添加management.port=8181属性application.properties以使 spring-boot-actuator 在另一个 TCP 端口上运行。

于 2016-12-19T14:01:16.987 回答