介绍

  • 这是我配置swagger的一个补充项
  • 只要是对swagger在分布式中的聚合
  • 本来有个gateway版的 ,准备不要了

    引入依赖

    1. <dependency>
    2. <groupId>org.springframework.boot</groupId>
    3. <artifactId>spring-boot-starter-web</artifactId>
    4. </dependency>
    5. <dependency>
    6. <groupId>com.github.xiaoymin</groupId>
    7. <artifactId>knife4j-aggregation-spring-boot-starter</artifactId>
    8. <version>2.0.8</version>
    9. </dependency>
    10. <dependency>
    11. <groupId>org.springframework.boot</groupId>
    12. <artifactId>spring-boot-starter-test</artifactId>
    13. <scope>test</scope>
    14. </dependency>
    15. <dependency>
    16. <groupId>org.springframework.cloud</groupId>
    17. <artifactId>spring-cloud-context</artifactId>
    18. <version>2.2.5.RELEASE</version>
    19. </dependency>
    20. <!-- nacos -->
    21. <dependency>
    22. <groupId>com.alibaba.cloud</groupId>
    23. <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    24. <version>2.2.3.RELEASE</version>
    25. </dependency>

    开始配置

  • bootstrap.yml ```yaml server: port: 202 spring: main: allow-bean-definition-overriding: true profiles: active: def application: name: cloud-swagger detabes: swagger: base-package=com:

    1. example:
    2. doc:
    3. swager:
    4. boot:
    5. controller: com.detabes.cloud.doc.swagger.controller

    logging: config: classpath:logback-spring.xml debug: false

knife4j: enableAggregation: true nacos: enable: true # 将该属性设置为true,则代表启用nacos模式 serviceUrl: http://localhost:8848/nacos/ # nacos注册中心的地址 routes:

  1. - name: 测试cloud项目
  2. serviceName: cloud-demo # nacos注册中心的服务名称
  3. location: /v2/api-docs # 具体资源接口地址,最终Knife4j是通过注册服务uri+location的组合路径进行访问
  4. servicePath: /api/cloud # 该属性是最终在Ui中展示的接口前缀属性(跟随网关的前缀)
  1. - bootstrap-def.yml
  2. ```yaml
  3. spring:
  4. cloud:
  5. nacos:
  6. discovery:
  7. server-addr: 127.0.0.1:8848 # 注册中心
  8. config:
  9. server-addr: 127.0.0.1:8848 # 配置中心
  10. file-extension: yaml #文件扩展名格式,针对于默认的{spring.application.name}-${profile}.${file-extension:properties}配置
  11. enabled: true #开启或关闭配置中心
  12. encode: UTF-8

示例测试

  • 在启动类上加入 @EnableDiscoveryClient
  • 启动访问 127.0.0.1:8080/doc.html
    • image.png