官方文档
这里采用的是Knife4jCloud的方案,比起之前的springfox的方案,界面UI更加美观,交互操作更简洁,但官方文档集成的是spring cloud gateway和eurake的方案,我这里集成了Nacos
Knife4jCloud文档
有兴趣可以自行阅读
Spring Cloud Gateway集成
1、增加SwaggerResourceConfig
package vip.mate.gateway.config;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.gateway.route.RouteLocator;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Component;
import springfox.documentation.swagger.web.SwaggerResource;
import springfox.documentation.swagger.web.SwaggerResourcesProvider;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@Slf4j
@Component
@Primary
@AllArgsConstructor
public class SwaggerResourceConfig implements SwaggerResourcesProvider {
/**
* swagger2默认的url后缀
*/
private static final String SWAGGER2URL = "/v2/api-docs";
/**
* 网关路由
*/
private final RouteLocator routeLocator;
/**
* 网关应用名称
*/
@Value("${spring.application.name}")
private String self;
@Autowired
public SwaggerResourceConfig(RouteLocator routeLocator) {
this.routeLocator = routeLocator;
}
@Override
public List<SwaggerResource> get() {
List<SwaggerResource> resources = new ArrayList<>();

本文介绍了如何将Swagger2与Spring Cloud Gateway进行集成,使用Knife4jCloud提供美观的API文档界面。详细步骤包括在Gateway中配置SwaggerResourceConfig和SwaggerHandler,以及在微服务模块中集成Swagger。提醒读者,此配置仅适用于dev、test和local环境,不适合生产环境。源码可供参考。
最低0.47元/天 解锁文章
4144

被折叠的 条评论
为什么被折叠?



