后端问题
# 使用MapperStruct时报错
由于lombok版本过高的原因,使用maven插件打包时,添加如下配置:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<annotationProcessorPaths>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${mapstruct.version}</version>
</path>
<!-- other annotation processors -->
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</path>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok-mapstruct-binding</artifactId>
<version>${lombok-mapstruct-binding.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
</build>
# 项目使用了Swagger吗?
项目使用knife4j集成了Swagger来展示接口,且使用OpenAPI3.0接口规范。
- 在GateWay中配置了自动发现文档配置,可以使用
localhost:9000/doc.html
来查看所有服务的接口文档。具体参考Spring Cloud Gateway网关聚合knife4j (opens new window) - 使用的自动服务发现模式,一定要注意这两个原则
警告
子服务必须统一规范实现,统一使用OpenAPI2或者OpenAPI3的版本
子服务需要提供默认default
分组,该分组是服务发现模式下自动聚合的url
# 为什么我配置了Swagger,但是某些接口不显示呢?
这就要甩锅给Knife4j了,在GateWay层,支持手动聚合和服务发现模式两种方式,但发现聚合只能聚合default组,其他分组无法聚合,所以就需要手动配置了。参考链接Spring Cloud Gateway网关聚合knife4j (opens new window)
上次更新: 2023/10/26, 02:08:23