Skip to content
On this page

自动注册使用

Knife4jInsight自1.1版本实现了微服务OpenAPI数据源的自动上报功能

1、首先在Spring Boot的工程中使用Knife4j提供的starter的包,必须大于等于4.4.0版本,不同的版本集成Knife4j可以参考这篇文档

2、配置yml配置文件,配置如下:

yml
knife4j:
  enable: true
  # 自动上传OpenAPI数据源到Knife4jInsight平台中
  insight:
    # 开启insight的自动注册功能
    enable: true
    # namespace命名,用户自定义
    namespace: knife4j-demo-openapi3
    # Knife4jInsight的部署地址,如果是用平台的,可以配置为http://console.knife4j.net,用户购买Knife4jInsight后可以私有化部署,配置为用户私有化部署的地址
    server: http://console.knife4j.net
    # Knife4jInsight平台中的用户密钥信息,在个人中心-> 接口密钥 获取
    secret: Bu2deU0urM30JTQ+YPZu1GddkG8h0fMgWuYeViSO4Y7Q=
    # 当前服务名称
    service-name: knife4j-demo-openapi3

3、至此就大功告成了,应用启动后,该服务的OpenAPI数据源就会自动注册到Knife4jInsight平台统一访问

获取用户的密钥信息

接口密钥是用户上传到Knife4jInsight平台的鉴权凭证,每个用户都有自己的独有密钥,在平台中可以获取

登录系统后,在平台的右上角用户,点击:个人中心,之后出现如下页面信息:

图1.开发者密钥信息

上报接口说明

说明:

1、在Java生态中,Knife4j自4.4.0版本以及提供了自动调用该接口进行数据上报的功能,开发者可以开箱即用,不用实现,直接使用即可。

2、如果有别的语言需要注册OpenAPI数据源到Knife4jInsight平台,那么可以参考该接口进行实现

3、Java自动注册的代码可以参考:Knife4jInsightDiscoveryBootstrapper.java

上报接口: http://console.knife4j.net/api/cloud/upload

地址http://console.knife4j.net可以替换为用户私有化部署Knife4jInsight的地址,或者可以用Knife4j平台提供的先进行测试

接口类型:application/json

接口方式: POST

请求参数:

json
{
    "accessKey":"23xdxfx", // 密钥信息,参考上面的“获取用户的密钥信息”
    "namespace":"test", // 空间名称,自定义
    "serviceName":"user-service", // 服务名称
    "spec":"OpenAPI3",// 规范类别,OpenAPI3或者Swagger2
    "host":"192.168.0.110", // 应用的ip
    "port":9090, // 当前服务的端口
    "cloudRoutes":[
        {
            "groupName":"用户服务", //本服务的分组名称
            "content":"", // OpenAPI规范的JSON数据
            "path":"/v3/api-docs" //openapi接口的访问路径
        }
    ]
}