我们希望配置网关后能够进行Knife4j测试,
这样就可以不用切来切去了,
我们就需要进行Knife4j配置实现
此配置是固定的
当微服务项目时网关项目配置各子模块的Knife4j功能,就可以直接复制这几个类即可:
config\controller\filter
config包:
SwaggerProvider类
@Component
public class SwaggerProvider implements SwaggerResourcesProvider {
/**
* 接口地址
*/
public static final String API_URI = "/v2/api-docs";
/**
* 路由加载器
*/
@Autowired
private RouteLocator routeLocator;
/**
* 网关应用名称
*/
@Value("${spring.application.name}")
private String applicationName;
@Override
public List<SwaggerResource> get() {
//接口资源列表
List<SwaggerResource> resources = new ArrayList<>();
//服务名称列表
List<String> routeHosts = new ArrayList<>();
// 获取所有可用的应用名称
routeLocator.getRoutes().filter(route -> route.getUri().getHost() != nul