跳到主要内容
版本:预览版

Seata API 文档

1. API Overview

1.1 namingserver open-api

APIMethodPathDescriptionDetail
Health CheckGET/naming/v1/healthnamingserver 健康检查查看
Register InstancePOST/naming/v1/register /api/v1/naming/register注册单节点查看
Batch RegisterPOST/naming/v1/batchRegister /api/v1/naming/batchRegister批量注册节点查看
Unregister InstancePOST/naming/v1/unregister /api/v1/naming/unregister注销单节点查看
Cluster MonitorGET/naming/v1/clusters /api/v1/naming/clusters查询集群监控视图查看
Cluster DataGET/naming/v1/clusterData /api/v1/naming/clusterData查询单集群原始数据查看
DiscoveryGET/naming/v1/discovery /api/v1/naming/discovery按 vGroup 发现集群查看
Add GroupPOST/naming/v1/addGroup /api/v1/naming/addGroup新增 vGroup 映射查看
Change GroupPOST/naming/v1/changeGroup /api/v1/naming/changeGroup切换 vGroup 映射查看
Namespace (v1)GET/naming/v1/namespace /api/v1/naming/namespacenamespace 概览(v1)查看
WatchPOST/naming/v1/watch /api/v1/naming/watch长轮询订阅 vGroup 变化查看
Watch ListGET/naming/v1/watchList /api/v1/naming/watchList当前 watch 列表查看
Namespace (v2)GET/naming/v2/namespace /api/v2/naming/namespacenamespace 概览(v2)查看

1.2 server admin-api

APIMethodPathDescriptionDetail
Delete Branch SessionDELETE/api/v1/console/branchSession/deleteBranchSession删除分支会话查看
Force Delete Branch SessionDELETE/api/v1/console/branchSession/forceDeleteBranchSession强制删除分支会话查看
Stop Branch SessionPUT/api/v1/console/branchSession/stopBranchSession停止分支重试查看
Start Branch SessionPUT/api/v1/console/branchSession/startBranchSession启动分支重试查看
Query Global SessionGET/api/v1/console/globalSession/query分页查询全局会话查看
Delete Global SessionDELETE/api/v1/console/globalSession/deleteGlobalSession删除全局会话查看
Force Delete Global SessionDELETE/api/v1/console/globalSession/forceDeleteGlobalSession强制删除全局会话查看
Stop Global SessionPUT/api/v1/console/globalSession/stopGlobalSession停止全局重试查看
Start Global SessionPUT/api/v1/console/globalSession/startGlobalSession启动全局重试查看
Send Commit/RollbackPUT/api/v1/console/globalSession/sendCommitOrRollback手工触发提交或回滚下发查看
Change Global StatusPUT/api/v1/console/globalSession/changeGlobalStatus修改全局状态查看
Query Global LockGET/api/v1/console/globalLock/query分页查询全局锁查看
Delete Global LockDELETE/api/v1/console/globalLock/delete删除全局锁查看
Check Global LockGET/api/v1/console/globalLock/check检查分支是否存在锁查看

1.3 server open-api

APIMethodPathDescriptionDetail
Server Health CheckGET (recommended)/healthserver 健康检查查看
Change ClusterPOST/metadata/v1/changeCluster变更 raft peers查看
Query Cluster MetadataGET/metadata/v1/cluster查询 leader/term/nodes/storeMode查看
Watch MetadataPOST/metadata/v1/watch长轮询订阅 group 变化查看
Add VGroupGET/vgroup/v1/addVGroup新增 vGroup 映射查看
Remove VGroupGET/vgroup/v1/removeVGroup删除 vGroup 映射查看

2. namingserver open-api

2.1 Health Check

  • 作用:返回 namingserver 可用状态。
  • 请求:GET /naming/v1/health
  • 参数:无
  • 返回:Result<?>
  • 说明:返回体默认 code="200"message="success"

2.2 Register Instance

  • 作用:注册单个 NamingServerNode 到指定 namespace + clusterName + unit
  • 请求:POST /naming/v1/registerPOST /api/v1/naming/register
  • Query 参数:
NameTypeRequiredSourceNote
namespacestringYquery (@RequestParam)命名空间
clusterNamestringYquery (@RequestParam)集群名
unitstringYquery (@RequestParam)单元名
  • Body:NamingServerNode
FieldTypeRequiredNote
controlobjectN控制端点
transactionobjectN事务端点
internalobjectN内部端点
rolestringN节点角色
versionstringN版本
metadataobjectN扩展元数据
weightnumberN权重
healthybooleanN健康状态
termlongN节点 term
unitstringN节点 unit
  • 返回:Result<String>
  • 说明:失败通常通过 code=500 表达,HTTP 仍可能是 200。

2.3 Batch Register

  • 作用:批量注册节点。
  • 请求:POST /naming/v1/batchRegisterPOST /api/v1/naming/batchRegister
  • Query 参数:namespaceclusterName(均必填,@RequestParam
  • Body:List<NamingServerNode>
  • 返回:Result<String>

2.4 Unregister Instance

  • 作用:注销单节点。
  • 请求:POST /naming/v1/unregisterPOST /api/v1/naming/unregister
  • Query 参数:namespaceclusterNameunit(必填)
  • Body:NamingServerNode
  • 返回:Result<String>

2.5 Cluster Monitor

  • 作用:查询 namespace 下的集群监控视图。
  • 请求:GET /naming/v1/clustersGET /api/v1/naming/clusters
  • 参数:
NameTypeRequiredSourceNote
namespacestringY (recommended)query (默认绑定)方法参数未显式 @RequestParam
  • 返回:List<ClusterVO>clusterNameclusterTypevGroupMappingunitData

2.6 Cluster Data

  • 作用:查询单个 cluster 原始数据。
  • 请求:GET /naming/v1/clusterDataGET /api/v1/naming/clusterData
  • 参数:namespaceclusterName(均必填,@RequestParam
  • 返回:SingleResult<ClusterData>
  • 说明:找不到集群时 SingleResult.failure("Cluster not found")

2.7 Discovery

  • 作用:按 vGroup + namespace 发现 cluster 列表。
  • 请求:GET /naming/v1/discoveryGET /api/v1/naming/discovery
  • 参数:vGroupnamespace(均必填)
  • 返回:MetaResponse
FieldTypeNote
clusterListlist匹配到的集群列表
termlong当前 vGroup 的 term

2.8 Add Group

  • 作用:创建 vGroup 到 cluster 的映射。
  • 请求:POST /naming/v1/addGroupPOST /api/v1/naming/addGroup
  • 参数:
NameTypeRequiredSourceNote
namespacestringYquery (@RequestParam)命名空间
clusterNamestringYquery (@RequestParam)目标集群
unitNamestringNquery (默认绑定)未显式注解,可空
vGroupstringYquery (@RequestParam)事务组
  • 返回:Result<String>

2.9 Change Group

  • 作用:将 vGroup 切换到新 cluster。
  • 请求:POST /naming/v1/changeGroupPOST /api/v1/naming/changeGroup
  • 参数:namespaceclusterNamevGroup(必填)+ unitName(可选,默认 ""
  • 返回:Result<String>

2.10 Namespace (v1)

  • 作用:返回 namespace 聚合信息。
  • 请求:GET /naming/v1/namespaceGET /api/v1/naming/namespace
  • 参数:无
  • 返回:SingleResult<Map<String, NamespaceVO>>
NamespaceVO FieldType
clustersList<String>
vgroupsList<String>

2.11 Watch

  • 作用:订阅指定 vGroup 的变更(长轮询)。
  • 请求:POST /naming/v1/watchPOST /api/v1/naming/watch
  • 参数:
NameTypeRequiredSourceNote
clientTermstringYquery (@RequestParam)需可转 long
vGroupstringYquery (@RequestParam)事务组
timeoutstringYquery (@RequestParam)需可转 int
  • 返回:void(异步)
  • 关键行为:
    • 使用 request.startAsync() 开启异步。
    • AsyncContext timeout 被设为 0(容器无限超时)。
    • 真实等待窗口由 timeout 参数传入 watcher。

2.12 Watch List

  • 作用:查看已注册 watcher。
  • 请求:GET /naming/v1/watchListGET /api/v1/naming/watchList
  • 参数:无
  • 返回:List<WatcherVO>vGroupwatcherIp

2.13 Namespace (v2)

  • 作用:返回 v2 结构 namespace 聚合信息。
  • 请求:GET /naming/v2/namespaceGET /api/v2/naming/namespace
  • 参数:无
  • 返回:SingleResult<Map<String, org.apache.seata.namingserver.entity.vo.v2.NamespaceVO>>
v2 NamespaceVO FieldType
clustersMap<String, ClusterVO>
v2 ClusterVO FieldType
vgroupsList<String>
unitsList<String>
typeString

3. server admin-api

3.1 Delete Branch Session

  • 请求:DELETE /api/v1/console/branchSession/deleteBranchSession
  • 作用:删除分支会话。
  • 参数:xidbranchId(默认绑定,推荐 query/form 传递)
  • 返回:SingleResult<Void>

3.2 Force Delete Branch Session

  • 请求:DELETE /api/v1/console/branchSession/forceDeleteBranchSession
  • 作用:强制删除分支会话。
  • 参数:xidbranchId
  • 返回:SingleResult<Void>

3.3 Stop Branch Session

  • 请求:PUT /api/v1/console/branchSession/stopBranchSession
  • 作用:停止分支重试。
  • 参数:xidbranchId
  • 返回:SingleResult<Void>

3.4 Start Branch Session

  • 请求:PUT /api/v1/console/branchSession/startBranchSession
  • 作用:启动分支重试。
  • 参数:xidbranchId
  • 返回:SingleResult<Void>

3.5 Query Global Session

  • 请求:GET /api/v1/console/globalSession/query
  • 作用:分页查询全局会话。
  • 参数来源:@ModelAttribute GlobalSessionParam(query 绑定)
FieldTypeNote
pageNumint分页参数
pageSizeint分页参数
timeStartlong时间区间开始
timeEndlong时间区间结束
xidstring过滤条件
applicationIdstring过滤条件
statusint过滤条件
transactionNamestring过滤条件
vgroupstring过滤条件
withBranchboolean是否带分支明细
  • 返回:PageResult<GlobalSessionVO>

3.6 Delete Global Session

  • 请求:DELETE /api/v1/console/globalSession/deleteGlobalSession
  • 作用:删除全局会话。
  • 参数:xid
  • 返回:SingleResult<Void>

3.7 Force Delete Global Session

  • 请求:DELETE /api/v1/console/globalSession/forceDeleteGlobalSession
  • 作用:强制删除全局会话。
  • 参数:xid
  • 返回:SingleResult<Void>

3.8 Stop Global Session

  • 请求:PUT /api/v1/console/globalSession/stopGlobalSession
  • 作用:停止全局重试。
  • 参数:xid
  • 返回:SingleResult<Void>

3.9 Start Global Session

  • 请求:PUT /api/v1/console/globalSession/startGlobalSession
  • 作用:启动全局重试。
  • 参数:xid
  • 返回:SingleResult<Void>

3.10 Send Commit/Rollback

  • 请求:PUT /api/v1/console/globalSession/sendCommitOrRollback
  • 作用:手工触发提交/回滚下发。
  • 参数:xid
  • 返回:SingleResult<Void>

3.11 Change Global Status

  • 请求:PUT /api/v1/console/globalSession/changeGlobalStatus
  • 作用:修改全局事务状态。
  • 参数:xid
  • 返回:SingleResult<Void>

3.12 Query Global Lock

  • 请求:GET /api/v1/console/globalLock/query
  • 作用:分页查询全局锁。
  • 参数来源:@ModelAttribute GlobalLockParam
FieldTypeNote
pageNumint分页参数
pageSizeint分页参数
timeStartlong时间区间开始
timeEndlong时间区间结束
xidstring过滤条件
tableNamestring过滤条件
transactionIdstring过滤条件
branchIdstring过滤条件
pkstring过滤条件
resourceIdstring过滤条件
  • 返回:PageResult<GlobalLockVO>

3.13 Delete Global Lock

  • 请求:DELETE /api/v1/console/globalLock/delete
  • 作用:删除全局锁。
  • 参数来源:@ModelAttribute GlobalLockParam
  • 返回:SingleResult<Void>

3.14 Check Global Lock

  • 请求:GET /api/v1/console/globalLock/check
  • 作用:检查指定分支是否存在锁。
  • 参数:xidbranchId(默认绑定)
  • 返回:SingleResult<Boolean>

4. server open-api(详细)

4.1 Health Check

  • 请求:/health@RequestMapping,建议按 GET 调用)
  • 作用:返回 server 启动状态。
  • 参数:无
  • 返回:String,值为 oknot_ok

4.2 Change Cluster

  • 请求:POST /metadata/v1/changeCluster
  • 作用:变更 raft peers 配置。
  • 参数:
NameTypeRequiredSourceNote
raftClusterStrstringYquery (@RequestParam)jraft Configuration#parse 格式
  • 返回:Result<?>
  • 注意:解析失败时仅设置 messagecode 可能仍保持默认 200

4.3 Query Cluster Metadata

  • 请求:GET /metadata/v1/cluster
  • 作用:获取 group 的 storeMode/term/nodes
  • 参数:
NameTypeRequiredSourceNote
groupstringNquery (默认绑定)为空时回退 server.raft.group,默认 default
  • 返回:MetadataResponse
FieldType
storeModestring
termlong
nodesList<Node>

4.4 Watch Metadata

  • 请求:POST /metadata/v1/watch
  • 作用:按 group+term 订阅变更。
  • 参数:
NameTypeRequiredSourceNote
groupTermsmapYbody (@RequestBody)key=group, value=term
timeoutintNquery (@RequestParam)默认 28000
contextHttpContext框架注入method arg非用户传入
  • 返回:void(异步)
  • 注意:term 会执行 Long.parseLong(String.valueOf(term)) 转换。

4.5 Add VGroup

  • 请求:GET /vgroup/v1/addVGroup
  • 作用:新增 vGroup 映射(有副作用)。
  • 参数:vGroupunit@RequestParam
  • 返回:Result<?>
  • 注意:非 raft 模式会刷新本机 term(System.currentTimeMillis())。

4.6 Remove VGroup

  • 请求:GET /vgroup/v1/removeVGroup
  • 作用:删除 vGroup 映射(有副作用)。
  • 参数:vGroup@RequestParam
  • 返回:Result<?>
  • 注意:非 raft 模式会刷新本机 term。

5. 通用返回结构

5.1 Result

FieldTypeNote
codestring默认 200
messagestring默认 success

5.2 SingleResult

FieldTypeNote
codestring继承 Result
messagestring继承 Result
dataany业务数据

5.3 PageResult

FieldTypeNote
codestring继承 Result
messagestring继承 Result
datalist当前页数据
totalint总条数
pagesint总页数
pageNumint当前页
pageSizeint页大小