Appearance
自动注册使用
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、在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接口的访问路径
}
]
}