Gateway集成knife4j多模块分组踩坑
学习、踩坑、不断前进,记录一下
pom.xml
其他子模块
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-micro-spring-boot-starter</artifactId>
<version>2.0.9</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>29.0-jre</version>
<optional>true</optional>
</dependency>
Gateway模块
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>2.0.9</version>
</dependency>
swagger配置
配置分组
通用工具模块配置
package com.xxx.common.config;
import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;
/**
* @Author fxx
* @Date 2021/7/21 8:44
*/
@Configuration
@EnableKnife4j
@EnableSwagger2WebMvc
public class Swagger2Config {
//默认的api,这里有个坑,就是groupName("default")这里配的default是默认的分组名,
//Swagger2ControllerWebMvc的getDocumentation方法,也就是/v2/api-docs接口需要加参数group和分组名,不然的话就是查的default分组
//而默认访问doc.html的时候,发送的/v2/api-docs是不带group参数的
//源码如下:
/**public ResponseEntity<Json> getDocumentation(@RequestParam(value = "group",required = false) String swaggerGroup, HttpServletRequest servletRequest) {
*String groupName = (String)Optional.ofNullable(swaggerGroup).orElse("default");
*Documentation documentation = this.documentationCache.documentationByGroup(groupName);
**/
// @Bean(value = "defaultApi")
// public Docke