index.md
1.97 KB
5. API 参考
xly 暴露了三个不同的 HTTP 接口面,分别由三个独立的 Spring Boot 服务承载。每个接口面都在下面的独立页面中说明;概念总览见概念 / 三层 API。
| 页面 | 服务 | Context path | 适用场景 |
|---|---|---|---|
| 内部 API | xlyEntry |
/xlyEntry |
你在扩展 SPA,或维护框架运行时。 |
| 外部 API | xlyApi |
/xlyApi |
你在接入会从外部调用 xly 的系统。 |
| Webhook | xlyInterface |
/xlyInterface |
第三方系统需要把事件推送进 xly。 |
| 消息 |
xlyEntry + xlyErpJms*
|
不适用(ActiveMQ / RocketMQ) | 异步、扇出式集成比同步 HTTP 调用更合适。 |
| 通知 |
xlyMsg(作为库被 xlyEntry、xlyBusinessService、xlyInterface 使用) |
不适用(钉钉 / 微信 API) | 业务事件需要向用户推送聊天平台消息。 |
阅读顺序
如果你是外部集成方,从外部 API 开始。如果你是扩展框架的 Java 开发者,从内部 API 开始(通用 CRUD 机制的大部分内容在维护人员运行时章节中说明;本章会交叉链接到那里)。
跨接口面的共同事实
-
认证。 内部调用使用 SPA 的 session cookie +
@CurrentUser参数解析器。外部调用使用从/xlyApi/token/getToken获取的 bearer token。Webhook 按通道约定认证方式(签名 header、查询参数密钥等)。 -
租户作用域。 每个服务中,所有已认证控制器方法在做任何工作前都会执行
RequestAddParamUtil.me().addParams(params, userInfo);见多租户概念页。绕过这一步的请求就是多租户 bug。 -
日志。 外部调用写入
sysapilog;内部调用使用框架标准的syslog4j配置;Webhook 由各通道处理器自行决定日志方式。