跳到主要内容

ServiceCallHelper

ServiceCallHelper 提供从子服务(Slave Service)向主站(Main Site)发送内部请求的能力,适用于微服务架构下的跨服务调用。

概述​

在 Chameleon 微服务架构中,子服务有时需要调用主站提供的内部接口。ServiceCallHelper 封装了这一过程,内部自动处理认证,无需手动管理 Token。

与 OpenApiHelper 的区别​

特性OpenApiHelperServiceCallHelper
调用方向任意位置 → 主站 OpenAPI子服务 → 主站内部接口
接口类型对外暴露的业务 API主站内部接口
适用场景微服务/脚本调用通用业务 API子服务调用主站内部能力
认证方式Token 认证内部服务调用认证

API 方法​

SystemSlavePostAsync — 向主站发送 POST 请求​

// 基础版本,返回 ResponseResult
Task<ResponseResult> SystemSlavePostAsync(string url, object body = null);

// 泛型版本,自动反序列化 data 字段
Task<ResponseResult<TResult>> SystemSlavePostAsync<TResult>(string url, object body = null);

参数说明:

参数说明
url内部接口路径
body请求体(JSON 对象),可选

使用示例​

基本调用​

// 在子服务中调用主站内部接口
var result = await sdk.ServiceCallHelper.SystemSlavePostAsync(
"api/Internal/SomeService/GetData",
new { filter = "active" }
);

泛型返回​

// 自动解析响应中的 data 字段
var result = await sdk.ServiceCallHelper.SystemSlavePostAsync<MyDataType>(
"api/Internal/SomeService/GetData",
new { id = "123" }
);

var data = result.Data; // 已反序列化为 MyDataType

注意事项​

  • ServiceCallHelper 仅适用于子服务中调用主站内部接口的场景
  • 如果是调用对外 OpenAPI,请使用 OpenApiHelper
  • 内部接口路径由主站定义,具体可用接口需参考主站的内部 API 文档