模块方法调用入口
区分 CLI、平台应用和 Runtime 服务网关的真实路径、参数包装与身份来源。
模块没有统一的 /api/module/ 调用入口。调用方先选择适用的公开合同,再读取目标 Runtime 的服务和方法定义。
businessId 是 Runtime 服务身份;Module 内部行 ID、版本行 ID、资源 key 和完整 Resource Locator 不能替代它。
平台应用浏览器通过声明的目标名称调用,不读取 Runtime businessId。
按调用方选择入口
| 调用方 | 入口 | 业务参数 |
|---|---|---|
| 本机 CLI、开发者自动化 | baijimu runtime service call | --params JSON 对象 |
| 平台应用浏览器 | POST {appGatewayApiBase}/workspace-runtime/apps/{installId}/invoke | 请求体中的 params |
| 获准直连 Runtime 服务网关的调用方 | POST {apiGatewayUrl}/{businessId}/{methodName} | 方法参数位于请求体顶层 |
| 模块后端调用属性绑定服务 | POST {access.url}/{methodName} | 方法参数位于请求体顶层 |
apiGatewayUrl、access.url 和凭据由当前 Runtime 配置或授权交付返回;appGatewayApiBase 来自应用同源配置。
不要从域名、工作区 ID、资源 key 或目标 businessId 自行推导地址。
显式配置的业务网关路由以该网关自己的合同为准,不能把任意自定义路径当作平台通用接口。
CLI 与开发者自动化
先逐级读取本机 --help,再在明确工作区、Runtime、来源环境与 Bundle 范围内执行
runtime services list、runtime service get,从返回值选择准确 businessId,回读目标方法的 paramDefinitions。
只在已授权业务效果或确认只读的情况下执行调用:
baijimu runtime service call <businessId> <methodName> \
--workspace-id <workspaceId> \
--application-runtime-id <applicationRuntimeId> \
--params '{}'无参数方法显式传 {}。指定 Runtime 时,发现、详情和调用使用同一 Runtime;不指定时使用该工作区默认 Runtime。
CLI 使用的公开 HTTP 合同是:
POST /partner/v1/backend-instance/api/workspaces/{workspaceId}/runtime/services/call
Content-Type: application/json{
"applicationRuntimeId": "<applicationRuntimeId>",
"businessId": "<businessId>",
"method": "<methodName>",
"params": {}
}认证交由已登录 CLI 管理。HTTP 请求中的 applicationRuntimeId 可省略以选择工作区默认 Runtime。
示例文件:Runtime 服务请求。
平台应用
SDK 10.0.0 使用应用声明的目标名称字符串:
const result = await client.call("course-directory", "createCourse", { name: "高等数学" });target 名称来自应用配置 targets,不接受浏览器提交的资源对象、Runtime 服务 ID 或凭据。
完整配置和请求见调用模块方法。
Runtime 服务网关与属性路径
普通服务路径首段是当前 Runtime 的 businessId,末段是方法。
通过属性调用时,首段是来源模块的 businessId,中间段是声明的属性及 Map/List 选择器;平台按有效绑定解析目标。
后端应直接使用交付的 access.url,追加编码后的方法段。Map 按完整键选择,List 按规范零起下标选择。
完整 URL、选择器编码、凭据保存和请求级用户委托见模块服务间调用协议。
Runtime 网关直连请求体中的字段与方法参数同名。只有方法确实声明名为 params 的参数,才传
{"params": {...}}。CLI 和 App Gateway 的外层 params 属于各自调用信封,不能照搬到直连网关请求体。