1.5 Nacos模式
更加详细的实战demo请参考基于Nacos注册中心聚合OpenAPI
开发者可以从Nacos注册中心中聚合已经注册的服务,需要注意的是以及注册的服务必须集成OpenAPI并且能提供接口 该模式类似于Cloud模式,只是隐藏了服务的地址而已
knife4j:
enable-aggregation: true
nacos:
enable: true
service-url: http://192.168.0.112:8804/nacos/
routes:
- name: 订单服务
service-name: service-order
group-name: test
namespace-id: test
clusters: test
location: /v2/api-docs?group=default
knife4j.nacos.enable
:将该属性设置为true,则代表启用nacos模式knife4j.nacos.service-url
:nacos注册中心的地址knife4j.nacos.route-auth
:该属性是一个公共Basic验证属性(可选),如果开发者提供的OpenAPI规范的服务需要以Basic验证进行鉴权访问,那么可以配置该属性,如果配置该属性,则该模式下所有配置的Routes节点接口都会以Basic验证信息访问接口knife4j.nacos.route-auth.enable
:是否启用Basic验证knife4j.nacos.route-auth.usernae
:Basic用户名knife4j.nacos.route-auth.password
:Basic密码knife4j.nacos.routes
:需要聚合的服务集合(必选),可以配置多个knife4j.nacos.routes.name
:服务名称(显示名称,最终在Ui的左上角下拉框进行显示),如果该属性不配置,最终Ui会显示serviceName
knife4j.nacos.routes.service-name
:nacos注册中心的服务名称knife4j.nacos.routes.group-name
:Nacos分组名称,非必须,开发者根据自己的实际情况进行配置knife4j.nacos.routes.namespace-id
:命名空间id,非必须,开发者根据自己的实际情况进行配置knife4j.nacos.routes.clusters
:集群名称,多个集群用逗号分隔,非必须,开发者根据自己的实际情况进行配置knife4j.nacos.routes.uri
:该服务的接口URI资源,如果是HTTPS,则需要完整配置knife4j.nacos.routes.location:
:具体资源接口地址,最终Knife4j是通过注册服务uri+location的组合路径进行访问knife4j.nacos.routes.swagger-version
:版本号,默认是2.0
,可选配置knife4j.nacos.routes.service-path
:该属性是最终在Ui中展示的接口前缀属性,提供该属性的目的也是因为通常开发者在以Gateway等方式聚合时,需要一个前缀路径来进行转发,而最终这个前缀路径会在每个接口中进行追加knife4j.nacos.routes.route-auth
:如果该Route节点的接口开启了Basic,并且和公共配置的Basic不一样,需要单独配置knife4j.nacos.routes.route-auth.enable
:是否启用Basic验证knife4j.nacos.routes.route-auth.usernae
:Basic用户名knife4j.nacos.routes.route-auth.password
:Basic密码