Skip to content
Team 版 OpenClaw:HiClaw 开源,5 分钟完成本地安装Know more

客户端API

For how to obtain and configure access credentials when using the default auth plugin, see How to configure auth for OpenAPI.

0. 客户端API 相关说明

0.1. 统一路径格式

Nacos的客户端API,使用统一的Path格式进行的规范。格式为[/$nacos.server.contextPath]/v3/client/[module]/[subPath]..., 其中

  • $nacos.server.contextPath:客户端API的根路径,默认为/nacos,可以通过nacos.server.contextPath配置项进行修改。
  • module:客户端API模块名称,例如servercsnscore等。
  • subPath:客户端API的子路径,例如statenamespaceconfig等, 可能有多层子路径。

下列列出的客户端API,采用默认$nacos.server.contextPath的情况进行展示,若已修改部署环境中的$nacos.server.contextPath 配置项,请自行修改调用API时的请求URL。

同时下列列出的客户端API样例中,均采用默认Nacos Web Server的端口进行展示,若已修改部署环境中的$nacos.server.main.port 配置项,请自行修改调用API时的请求URL。

0.2. Swagger 类型文档

Nacos 3.X 的客户端 Open API 也提供了Swagger风格的文档,您可以通过访问Nacos Swagger HTTP 客户端 API查看。

1. 配置管理

1.1. 获取配置

接口描述

获取指定配置

请求方式

GET

请求URL

/nacos/v3/client/cs/config

请求头

参数名参数类型是否必填描述说明
User-AgentString用户代理,默认为空,通常为`Nacos-${program-language}-Client
${version}
Client-VersionString客户端版本,默认为空,通常为`Nacos-${program-language}-Client
${version}

请求参数

参数名类型必填参数描述
namespaceIdString命名空间,默认为public''相同
groupNameString配置分组名
dataIdString配置名

返回数据

返回体遵循Nacos open API 统一返回体格式,下表只阐述data字段中的返回参数。

参数名参数类型描述
contentString配置内容
encryptedDataKeyString配置的加解密密钥,仅在使用配置加解密插件时有此值
contentTypeString配置的类型,如TEXT,JSON
md5String配置的md5值
lastModifiedString配置的最后修改时间
betaboolean配置是否有灰度配置

其他字段为预留字段,暂时无用,忽略即可。

示例

  • 请求示例
Terminal window
curl -X GET '127.0.0.1:8848/nacos/v3/client/cs/config?dataId=test&groupName=test'
  • 返回示例
{
"code": 0,
"message": "success",
"data": {
"resultCode": 200,
"errorCode": 0,
"message": null,
"requestId": null,
"content": "test",
"encryptedDataKey": null,
"contentType": "text",
"md5": "098f6bcd4621d373cade4e832627b4f6",
"lastModified": 1743151634823,
"tag": null,
"beta": false,
"success": true
}
}

2. 服务发现

2.1. 注册实例/续约实例

接口描述

注册或续约一个实例

请求方式

POST

Content-Type:application/x-www-form-urlencoded

请求URL

/nacos/v3/client/ns/instance

请求头

参数名参数类型是否必填描述说明
User-AgentString用户代理,默认为空,通常为`Nacos-${program-language}-Client
${version}
Client-VersionString客户端版本,默认为空,通常为`Nacos-${program-language}-Client
${version}

请求Body

参数名参数类型是否必填描述说明
namespaceIdString命名空间Id,默认为public
groupNameString分组名,默认为DEFAULT_GROUP
serviceNameString服务名
ipStringIP地址
portint端口号
clusterNameString集群名称,默认为DEFAULT
healthyboolean是否只查找健康实例,默认为true
weightdouble实例权重,默认为1.0
enabledboolean是否可用,默认为true
metadataJSON格式String实例元数据
ephemeralboolean是否为临时实例
heartBeatboolean是否为续约请求,默认为false

返回数据

返回体遵循Nacos open API 统一返回体格式,下表只阐述data字段中的返回参数。

参数名参数类型描述
dataString是否注册、续约成功,成功时返回ok,失败时返回失败原因。

示例

  • 请求示例
Terminal window
# 注册实例
curl -X POST "127.0.0.1:8848/nacos/v3/client/ns/instance" -d "serviceName=test1&ip=127.0.0.1&port=3306"
# 续约实例
curl -X POST "127.0.0.1:8848/nacos/v3/client/ns/instance" -d "serviceName=test1&ip=127.0.0.1&port=3306&heartBeat=true"
  • 返回示例
{
"code": 0,
"message": "success",
"data": "ok"
}

2.2. 注销实例

接口描述

注销指定实例

请求方式

DELETE

Content-Type:application/x-www-form-urlencoded

请求URL

/nacos/v3/client/ns/instance

请求头

参数名参数类型是否必填描述说明
User-AgentString用户代理,默认为空,通常为`Nacos-${program-language}-Client
${version}
Client-VersionString客户端版本,默认为空,通常为`Nacos-${program-language}-Client
${version}

请求Body

参数名参数类型是否必填描述说明
namespaceIdString命名空间Id,默认为public
groupNameString分组名,默认为DEFAULT_GROUP
serviceNameString服务名
ipStringIP地址
portint端口号
clusterNameString集群名称,默认为DEFAULT
ephemeralboolean是否为临时实例

返回数据

返回体遵循Nacos open API 统一返回体格式,下表只阐述data字段中的返回参数。

参数名参数类型描述
dataString是否注销成功,成功时返回ok,失败时返回失败原因。

示例

  • 请求示例
Terminal window
curl -X DELETE "127.0.0.1:8848/nacos/v3/client/ns/instance?serviceName=test1&ip=127.0.0.1&port=3306"
  • 返回示例
{
"code": 0,
"message": "success",
"data": "ok"
}

2.3. 查询指定服务的实例列表

接口描述

查询指定服务下的实例详情信息列表

请求方式

GET

请求URL

/nacos/v3/client/ns/instance/list

请求头

参数名参数类型是否必填描述说明
User-AgentString用户代理,默认为空,通常为`Nacos-${program-language}-Client
${version}
Client-VersionString客户端版本,默认为空,通常为`Nacos-${program-language}-Client
${version}

请求参数

参数名参数类型是否必填描述说明
namespaceIdString命名空间Id,默认为public
groupNameString分组名,默认为DEFAULT_GROUP
serviceNameString服务名
clusterNameString集群名称,默认为DEFAULT
healthyOnlyboolean是否只获取健康实例,默认为false

返回数据

返回体遵循Nacos open API 统一返回体格式,下表只阐述data字段中的返回参数。

参数名参数类型描述说明
dataObject[]实例列表
data.[i].ipString实例IP
data.[i].portint实例端口号
data.[i].weightdouble实例权重
data.[i].healthyboolean实例是否健康
data.[i].enabledboolean实例是否可用
data.[i].ephemeralboolean是否为临时实例
data.[i].clusterNameString实例所在的集群名称
data.[i].serviceNameString服务名
data.[i].metadatamap实例元数据
data.[i].instanceHeartBeatTimeOutint实例心跳超时时间
data.[i].ipDeleteTimeoutint实例删除超时时间
data.[i].instanceHeartBeatIntervalint实例心跳间隔

示例

  • 请求示例
Terminal window
curl -X GET '127.0.0.1:8848/nacos/v3/client/ns/instance/list?serviceName=test1'
  • 返回示例
{
"code": 0,
"message": "success",
"data": [
{
"ip": "127.0.0.1",
"port": 3306,
"weight": 1.0,
"healthy": true,
"enabled": true,
"ephemeral": true,
"clusterName": "DEFAULT",
"serviceName": "DEFAULT_GROUP@@test1",
"metadata": {},
"ipDeleteTimeout": 30000,
"instanceIdGenerator": "simple",
"instanceHeartBeatInterval": 5000,
"instanceHeartBeatTimeOut": 15000
}
]
}