服务契约
服务契约查询与客户端上报。
服务契约查询与客户端上报。
默认 Base URL:http://127.0.0.1:8090。管理面接口需 Authorization(登录返回的 token)。
服务契约
契约查询与管理;客户端上报走 /v1/ReportServiceContract。
/naming/v1/service/contracts需要鉴权查询服务契约
按服务查询契约(query 由 ParseQueryParams 解析)。
参数
- Authorizationheader · string必填
登录返回的 token。
- namespacequery · string可选
命名空间。
- servicequery · string可选
服务名。
- namequery · string可选
契约名。
- protocolquery · string可选
协议。
- versionquery · string可选
版本。
- limitquery · integer可选
分页大小。
curl -sS 'http://127.0.0.1:8090/naming/v1/service/contracts?namespace=default&service=payment' \
-H "Authorization: $TOKEN"{
"code": 200000,
"info": "execute success",
"data": [{ "name": "payment", "protocol": "http" }]
}/naming/v1/service/contracts需要鉴权创建服务契约
管理面创建契约;body 为 ServiceContract 数组。
参数
- Authorizationheader · string必填
登录返回的 token。
- namebody · string必填
契约名 / 服务名相关标识。
- namespacebody · string必填
命名空间。
- servicebody · string必填
服务名。
- protocolbody · string可选
协议,如 http / grpc。
- versionbody · string可选
契约版本。
- contentbody · string可选
契约原文(可含 OpenAPI / proto)。
- typebody · string可选
契约类型。
- interfacesbody · Interface[]可选
接口列表。
- metadatabody · map<string,string>可选
元数据。
- idbody · string可选
契约 ID(删除等)。
curl -sS -X POST 'http://127.0.0.1:8090/naming/v1/service/contracts' \
-H "Authorization: $TOKEN" \
-H 'Content-Type: application/json' \
-d '[{"name":"payment","namespace":"default","service":"payment","protocol":"http","content":"openapi: 3.0.3"}]'{
"code": 200000,
"info": "execute success",
"amount": 1
}/naming/v1/service/contract/versions需要鉴权查询契约版本
查询契约版本列表。
参数
- Authorizationheader · string必填
登录返回的 token。
- namespacequery · string可选
命名空间。
- servicequery · string可选
服务名。
curl -sS 'http://127.0.0.1:8090/naming/v1/service/contract/versions?namespace=default&service=payment' \
-H "Authorization: $TOKEN"{
"code": 200000,
"info": "execute success",
"amount": 1
}/v1/ReportServiceContract上报服务契约
客户端上报契约(可含 OpenAPI 原文)。不是控制面自身 OpenAPI。
参数
- (body)body · ServiceContract[]必填
请求体为 ServiceContract 的 JSON 数组:[{...}, ...]。下列字段为数组中单条对象的完整字段(含嵌套)。
- idbody · string可选
契约ID
- namebody · string可选
契约名称 deprecated, use type field
- namespacebody · string可选
所属命名空间
- servicebody · string可选
所属服务名称
- protocolbody · string可选
协议,http/grpc/dubbo/thrift
- versionbody · string可选
契约版本
- contentbody · string可选
额外描述
- interfacesbody · InterfaceDescriptor[]可选
interfaces
- idbody · string可选
接口ID
- methodbody · string可选
方法名称,对应 http method/ dubbo interface func/grpc service func
- pathbody · string可选
接口名称,http path/dubbo interface/grpc service
- contentbody · string可选
接口描述信息
- sourcebody · enum(Source)可选
创建来源 枚举:UNKNOWN
- namebody · string可选
接口名称描述信息 deprecated, use type field
- namespacebody · string可选
所属命名空间
- servicebody · string可选
所属服务名称
- protocolbody · string可选
协议,http/grpc/dubbo/thrift
- versionbody · string可选
契约版本
- typebody · string可选
类型
- content_digestbody · string可选
内容摘要
- typebody · string可选
类型
- metadatabody · map<string,string>可选
metadata
- content_digestbody · string可选
内容摘要
响应字段
- codebody · uint32必填
业务码,成功多为 200000。
- infobody · string可选
提示信息。
- serviceContractbody · ServiceContract可选
返回中的 ServiceContract 实体字段(批量接口在 responses[] 内)。
- idbody · string可选
契约ID
- namebody · string可选
契约名称 deprecated, use type field
- namespacebody · string可选
所属命名空间
- servicebody · string可选
所属服务名称
- protocolbody · string可选
协议,http/grpc/dubbo/thrift
- versionbody · string可选
契约版本
- revisionbody · string可选
信息摘要
- contentbody · string可选
额外描述
- interfacesbody · InterfaceDescriptor[]可选
interfaces
- idbody · string可选
接口ID
- methodbody · string可选
方法名称,对应 http method/ dubbo interface func/grpc service func
- pathbody · string可选
接口名称,http path/dubbo interface/grpc service
- contentbody · string可选
接口描述信息
- sourcebody · enum(Source)可选
创建来源 枚举:UNKNOWN
- revisionbody · string可选
接口信息摘要
- ctimebody · string可选
创建时间
- mtimebody · string可选
更新时间
- namebody · string可选
接口名称描述信息 deprecated, use type field
- namespacebody · string可选
所属命名空间
- servicebody · string可选
所属服务名称
- protocolbody · string可选
协议,http/grpc/dubbo/thrift
- versionbody · string可选
契约版本
- typebody · string可选
类型
- content_digestbody · string可选
内容摘要
- ctimebody · string可选
创建时间
- mtimebody · string可选
更新时间
- statusbody · string可选
接口状态,Offline/Online
- typebody · string可选
类型
- metadatabody · map<string,string>可选
metadata
- content_digestbody · string可选
内容摘要
curl -sS -X POST 'http://127.0.0.1:8090/v1/ReportServiceContract' \
-H 'Content-Type: application/json' \
-d '{"name":"payment","namespace":"default","service":"payment","protocol":"http","content":"openapi: 3.0.3"}'{
"code": 200000,
"info": "execute success",
"amount": 1
}/naming/v1/service/contracts/delete需要鉴权删除服务契约
删除服务契约。
参数
- Authorizationheader · string必填
登录返回的 token。
- (body)body · ServiceContract[]必填
请求体为 ServiceContract 的 JSON 数组;下列为单条字段。
- idbody · string可选
id
- namebody · string可选
name
- namespacebody · string可选
namespace
- servicebody · string可选
service
- protocolbody · string可选
protocol
- versionbody · string可选
version
- contentbody · string可选
content
- interfacesbody · InterfaceDescriptor[]可选
interfaces
- idbody · string可选
id
- methodbody · string可选
method
- pathbody · string可选
path
- contentbody · string可选
content
- sourcebody · enum(Source)可选
source 枚举:UNKNOWN
- namebody · string可选
name
- namespacebody · string可选
namespace
- servicebody · string可选
service
- protocolbody · string可选
protocol
- versionbody · string可选
version
- typebody · string可选
type
- content_digestbody · string可选
content_digest
- typebody · string可选
type
- metadatabody · map<string,string>可选
metadata
- content_digestbody · string可选
content_digest
响应字段
- codebody · uint32必填
业务码。
- infobody · string可选
提示信息。
- ServiceContractbody · ServiceContract可选
实体字段。
- idbody · string可选
id
- namebody · string可选
name
- namespacebody · string可选
namespace
- servicebody · string可选
service
- protocolbody · string可选
protocol
- versionbody · string可选
version
- revisionbody · string可选
revision
- contentbody · string可选
content
- interfacesbody · InterfaceDescriptor[]可选
interfaces
- idbody · string可选
id
- methodbody · string可选
method
- pathbody · string可选
path
- contentbody · string可选
content
- sourcebody · enum(Source)可选
source 枚举:UNKNOWN
- revisionbody · string可选
revision
- ctimebody · string可选
ctime
- mtimebody · string可选
mtime
- namebody · string可选
name
- namespacebody · string可选
namespace
- servicebody · string可选
service
- protocolbody · string可选
protocol
- versionbody · string可选
version
- typebody · string可选
type
- content_digestbody · string可选
content_digest
- ctimebody · string可选
ctime
- mtimebody · string可选
mtime
- statusbody · string可选
status
- typebody · string可选
type
- metadatabody · map<string,string>可选
metadata
- content_digestbody · string可选
content_digest
curl -sS -X POST 'http://127.0.0.1:8090/naming/v1/service/contracts/delete' \
-H "Authorization: $TOKEN" \
-H 'Content-Type: application/json' \
-d '[]'{
"code": 200000,
"info": "execute success"
}/naming/v1/service/contract/methods需要鉴权创建契约方法
创建契约方法。
参数
- Authorizationheader · string必填
登录返回的 token。
- idbody · string可选
id
- namebody · string可选
name
- namespacebody · string可选
namespace
- servicebody · string可选
service
- protocolbody · string可选
protocol
- versionbody · string可选
version
- contentbody · string可选
content
- interfacesbody · InterfaceDescriptor[]可选
interfaces
- idbody · string可选
id
- methodbody · string可选
method
- pathbody · string可选
path
- contentbody · string可选
content
- sourcebody · enum(Source)可选
source 枚举:UNKNOWN
- namebody · string可选
name
- namespacebody · string可选
namespace
- servicebody · string可选
service
- protocolbody · string可选
protocol
- versionbody · string可选
version
- typebody · string可选
type
- content_digestbody · string可选
content_digest
- typebody · string可选
type
- metadatabody · map<string,string>可选
metadata
- content_digestbody · string可选
content_digest
响应字段
- codebody · uint32必填
业务码。
- infobody · string可选
提示信息。
- ServiceContractbody · ServiceContract可选
实体字段。
- idbody · string可选
id
- namebody · string可选
name
- namespacebody · string可选
namespace
- servicebody · string可选
service
- protocolbody · string可选
protocol
- versionbody · string可选
version
- revisionbody · string可选
revision
- contentbody · string可选
content
- interfacesbody · InterfaceDescriptor[]可选
interfaces
- idbody · string可选
id
- methodbody · string可选
method
- pathbody · string可选
path
- contentbody · string可选
content
- sourcebody · enum(Source)可选
source 枚举:UNKNOWN
- revisionbody · string可选
revision
- ctimebody · string可选
ctime
- mtimebody · string可选
mtime
- namebody · string可选
name
- namespacebody · string可选
namespace
- servicebody · string可选
service
- protocolbody · string可选
protocol
- versionbody · string可选
version
- typebody · string可选
type
- content_digestbody · string可选
content_digest
- ctimebody · string可选
ctime
- mtimebody · string可选
mtime
- statusbody · string可选
status
- typebody · string可选
type
- metadatabody · map<string,string>可选
metadata
- content_digestbody · string可选
content_digest
curl -sS -X POST 'http://127.0.0.1:8090/naming/v1/service/contract/methods' \
-H "Authorization: $TOKEN" \
-H 'Content-Type: application/json' \
-d '[]'{
"code": 200000,
"info": "execute success"
}/naming/v1/service/contract/methods/append需要鉴权追加契约方法
追加契约方法。
参数
- Authorizationheader · string必填
登录返回的 token。
- idbody · string可选
id
- namebody · string可选
name
- namespacebody · string可选
namespace
- servicebody · string可选
service
- protocolbody · string可选
protocol
- versionbody · string可选
version
- contentbody · string可选
content
- interfacesbody · InterfaceDescriptor[]可选
interfaces
- idbody · string可选
id
- methodbody · string可选
method
- pathbody · string可选
path
- contentbody · string可选
content
- sourcebody · enum(Source)可选
source 枚举:UNKNOWN
- namebody · string可选
name
- namespacebody · string可选
namespace
- servicebody · string可选
service
- protocolbody · string可选
protocol
- versionbody · string可选
version
- typebody · string可选
type
- content_digestbody · string可选
content_digest
- typebody · string可选
type
- metadatabody · map<string,string>可选
metadata
- content_digestbody · string可选
content_digest
响应字段
- codebody · uint32必填
业务码。
- infobody · string可选
提示信息。
- ServiceContractbody · ServiceContract可选
实体字段。
- idbody · string可选
id
- namebody · string可选
name
- namespacebody · string可选
namespace
- servicebody · string可选
service
- protocolbody · string可选
protocol
- versionbody · string可选
version
- revisionbody · string可选
revision
- contentbody · string可选
content
- interfacesbody · InterfaceDescriptor[]可选
interfaces
- idbody · string可选
id
- methodbody · string可选
method
- pathbody · string可选
path
- contentbody · string可选
content
- sourcebody · enum(Source)可选
source 枚举:UNKNOWN
- revisionbody · string可选
revision
- ctimebody · string可选
ctime
- mtimebody · string可选
mtime
- namebody · string可选
name
- namespacebody · string可选
namespace
- servicebody · string可选
service
- protocolbody · string可选
protocol
- versionbody · string可选
version
- typebody · string可选
type
- content_digestbody · string可选
content_digest
- ctimebody · string可选
ctime
- mtimebody · string可选
mtime
- statusbody · string可选
status
- typebody · string可选
type
- metadatabody · map<string,string>可选
metadata
- content_digestbody · string可选
content_digest
curl -sS -X PUT 'http://127.0.0.1:8090/naming/v1/service/contract/methods/append' \
-H "Authorization: $TOKEN" \
-H 'Content-Type: application/json' \
-d '[]'{
"code": 200000,
"info": "execute success"
}/naming/v1/service/contract/methods/delete需要鉴权删除契约方法
删除契约方法。
参数
- Authorizationheader · string必填
登录返回的 token。
- idbody · string可选
id
- namebody · string可选
name
- namespacebody · string可选
namespace
- servicebody · string可选
service
- protocolbody · string可选
protocol
- versionbody · string可选
version
- contentbody · string可选
content
- interfacesbody · InterfaceDescriptor[]可选
interfaces
- idbody · string可选
id
- methodbody · string可选
method
- pathbody · string可选
path
- contentbody · string可选
content
- sourcebody · enum(Source)可选
source 枚举:UNKNOWN
- namebody · string可选
name
- namespacebody · string可选
namespace
- servicebody · string可选
service
- protocolbody · string可选
protocol
- versionbody · string可选
version
- typebody · string可选
type
- content_digestbody · string可选
content_digest
- typebody · string可选
type
- metadatabody · map<string,string>可选
metadata
- content_digestbody · string可选
content_digest
响应字段
- codebody · uint32必填
业务码。
- infobody · string可选
提示信息。
- ServiceContractbody · ServiceContract可选
实体字段。
- idbody · string可选
id
- namebody · string可选
name
- namespacebody · string可选
namespace
- servicebody · string可选
service
- protocolbody · string可选
protocol
- versionbody · string可选
version
- revisionbody · string可选
revision
- contentbody · string可选
content
- interfacesbody · InterfaceDescriptor[]可选
interfaces
- idbody · string可选
id
- methodbody · string可选
method
- pathbody · string可选
path
- contentbody · string可选
content
- sourcebody · enum(Source)可选
source 枚举:UNKNOWN
- revisionbody · string可选
revision
- ctimebody · string可选
ctime
- mtimebody · string可选
mtime
- namebody · string可选
name
- namespacebody · string可选
namespace
- servicebody · string可选
service
- protocolbody · string可选
protocol
- versionbody · string可选
version
- typebody · string可选
type
- content_digestbody · string可选
content_digest
- ctimebody · string可选
ctime
- mtimebody · string可选
mtime
- statusbody · string可选
status
- typebody · string可选
type
- metadatabody · map<string,string>可选
metadata
- content_digestbody · string可选
content_digest
curl -sS -X POST 'http://127.0.0.1:8090/naming/v1/service/contract/methods/delete' \
-H "Authorization: $TOKEN" \
-H 'Content-Type: application/json' \
-d '[]'{
"code": 200000,
"info": "execute success"
}