Java / Spring Boot SDK
Java 服务端 SDK 已发布 Maven Central 1.0.0-alpha(MIT),封装 13 个服务模块、177 个公开 OpenAPI 操作。核心使用 Java 17+ 和 Jackson;Spring Boot Starter 提供属性绑定、可覆盖的 DRClient Bean、可选回调接收器。Maven groupId 为 cn.deeprespond,Java 包名仍为 com.deeprespond.im。
Maven 安装
业务工程直接添加 cn.deeprespond:im-server-sdk:1.0.0-alpha 或 cn.deeprespond:im-spring-boot-starter:1.0.0-alpha。需要JDK17+,不需要发布Token或预先本地install;源码构建和Demo另见仓库指南。
配置
deeprespond:
im:
base-url: ${IM_BASE_URL}
org-name: ${IM_ORG_NAME}
app-name: ${IM_APP_NAME}
client-id: ${IM_CLIENT_ID}
client-secret: ${IM_CLIENT_SECRET}构造函数注入 com.deeprespond.im.DRClient,用 im.users()、im.messages() 等调用。Client Secret 和 App Token 始终保存在后端。
var result = im.messages().send(Params.of("from", "alice")
.set("to_user", "bob").set("type", "text").set("body", Map.of("text", "你好")));
String messageId = result.data().messageId();导入 com.deeprespond.im.Params、java.util.Map。响应 data 为记录类型,raw 保留扩展字段;不要记录敏感响应。
行为边界
进程内令牌缓存和单飞、按协议类别重试、总时限、幂等键、游标分页、一次/分片上传与流式下载均已提供。回调使用原始字节验签,支持轮换、防重放、事件去重和有截止时限的同步检查。
当前使用通用 Params 处理请求三态;未提供跨进程 TokenStore、内置 Redis、完整分组限速、并发分片、下载签名自动刷新。多实例回调必须实现共享 CallbackStore。Boot 2/4、WebFlux 和原生镜像未验证。
完整参数、方法及实现边界见仓库 sdk/server/java/README.md 和共用 OpenAPI。运行演示见 Java Demo。
