代码拉取完成,页面将自动刷新
springboot3.0.6、SpringCloud2022.0.0、Knife4j4.1.0、dubbo3.2.0、nacos2.2.2
通过gateway聚合后端api,采用服务发现模式自动获取后端服务,由于引用了dubbo3,服务发现用的是nacos,所以在服务发现的时候会把dubbo服务添加到文档列表里面,配置文件里面虽然可以配置排除服务,但是dubbo服务很多,靠配置文件去配估计有点不现实,能通过代码方式修改排除逻辑吗?gateway那个starter里面貌似都没有对SwaggerResourcesProvider的支持。
这样的话,排除服务的逻辑,只能开放一个钩子函数之类的方法出来了,开发者自己实现排除服务的规则
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
备注一下,在接下来的4.2.0版本中,开发者可以自定义排除实现,示例代码:
@Slf4j
@Component
public class MyExcludeService implements GatewayServiceExcludeService {
@Override
public Set<String> exclude(Environment environment, Knife4jGatewayProperties properties, List<String> services) {
log.info("自定义过滤器.");
if (!CollectionUtils.isEmpty(services)){
return services.stream().filter(s -> s.contains("order")).collect(Collectors.toSet());
}
return new TreeSet<>();
}
}
实现GatewayServiceExcludeService.java
接口,然后注入Spring容器中,在exclude
方法中提供自定义的排除规则实现
登录 后才可以发表评论