springfox 不能与 spring-boot-admin-server 一起使用

标签 spring spring-boot springfox spring-boot-admin

我的 spring boot 应用程序已将 swagger-ui 与 springfox 和 spring admin 服务器集成。但是我发现添加注解@EnableAdminServer后swagger ui无法显示。

我在 github 上的两个存储库中搜索了问题,但没有发现与我的问题类似的问题。有人遇到过这种情况吗?

我的 POM:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.zgiot</groupId>
    <artifactId>app-server</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>app-server</name>
    <description>app server</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.6.RELEASE</version>
    </parent>

    <modules>
        <module>../common</module>
    </modules>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>

        <version.mybatis>1.2.0</version.mybatis>
        <version.druid>1.1.0</version.druid>
        <version.swagger>2.7.0</version.swagger>
        <version.fastjson>1.2.37</version.fastjson>
        <version.common>2.6</version.common>
        <version.guava>22.0</version.guava>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-websocket</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>
        <!--monitor-->
        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-server</artifactId>
            <version>1.5.3</version>
        </dependency>
        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-server-ui</artifactId>
            <version>1.5.3</version>
        </dependency>
        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-starter-client</artifactId>
            <version>1.5.3</version>
        </dependency>
        <!--数据库相关-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>${version.druid}</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>${version.mybatis}</version>
        </dependency>
        <!--Json相关-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>${version.fastjson}</version>
        </dependency>
        <!--http/websocket client-->
        <dependency>
            <groupId>org.asynchttpclient</groupId>
            <artifactId>async-http-client</artifactId>
            <version>2.0.34</version>
        </dependency>
        <!--commons-->
        <dependency>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
            <version>${version.common}</version>
        </dependency>
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>${version.guava}</version>
        </dependency>
        <!--swagger doc-->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>${version.swagger}</version>
            <exclusions>
                <exclusion>
                    <artifactId>guava</artifactId>
                    <groupId>com.google.guava</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>${version.swagger}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.restdocs</groupId>
            <artifactId>spring-restdocs-mockmvc</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

应用:

@SpringBootApplication
@EnableAdminServer
public class AppServerApplication {

    public static void main(String[] args) {
        SpringApplication.run(AppServerApplication.class, args);
    }
}

yuml 文件:

spring:
  application:
    name: app-server
  boot:
    admin:
      url: http://localhost:9090/app-server
management.security.enabled: false


spring.profiles.active: dev


server:
  context-path: /app-server
  port: 9090


spring.datasource.druid:
  url: ${mysql.url}
  username: ${mysql.username}
  password: ${mysql.password}
  initial-size: 5
  min-idle: 2
  max-active: 20
  test-on-borrow: true
  driver-class-name: com.mysql.jdbc.Driver



websocket:
  server-url: ${websocket.server-url}
  handshake-timeout: ${websocket.handshake-timeout}
  connection-timeout: ${websocket.connection-timeout}
mybatis:
  configuration:
    map-underscore-to-camel-case: true

当我删除注释@EnableAdminServer 时它起作用。看起来与 url 路由器有冲突。

最佳答案

请更改管理上下文,例如: spring.boot.admin.context-path:/admin

http://codecentric.github.io/spring-boot-admin/1.5.7/

关于springfox 不能与 spring-boot-admin-server 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45877340/

相关文章:

Spring Boot 安全 - Thymeleaf 秒 :authorize-url not working

java - 编译 fatal error : invalid flag: --release for jdk 11 on Jenkins?

java - Docker - "image operating system "linux“无法在此平台上使用”尝试构建镜像时

java - springfox ApiModelProperty 位置排序不起作用

java - Springfox:拒绝/阻止在 swagger-ui 中使用 RestController 主体的子类作为模型

java - 如何使用 MaxUploadSizeExceededException 避免堆栈跟踪 HTTP 状态 500 页面

java - Spring MD5以形式出现

java - Spring Bean Overriding 在 JpaAuditingRegistrar 中抛出错误

java - Spring引导 Autowiring 类不会在常规类中实例化

swagger - Springfox 类参数已弃用