快速开始
本指南将帮助您在 5 分钟内 完成 Lovrabet Java OpenSDK 的安装、配置和第一次 API 调用。
前置要求
- JDK: Java 8 或更高版本
- 构建工具: Maven 3.x 或 Gradle 7.x+
- Lovrabet 账户: 需要在 Lovrabet 云兔平台 注册账户
第一步:引入依赖
Maven 配置
在您的 pom.xml 中添加依赖:
<dependency>
<groupId>com.lovrabet.runtime</groupId>
<artifactId>lovrabet-runtime-opensdk</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
Gradle 配置
在您的 build.gradle 中添加依赖:
implementation 'com.lovrabet.runtime:lovrabet-runtime-opensdk:1.0.0-SNAPSHOT'
第二步:获取访问凭证
在使用 SDK 之前,您需要获取两个关键信息:
2.1 获取应用编码(AppCode)
- 登录 Lovrabet 云兔平台
- 进入 应用管理 页面
- 选择或创建一个应用
- 复制应用的 应用编码(AppCode),格式如:
app-c2dd52a2
2.2 生成访问密钥(AccessKey)
- 在应用详情页,找到 OpenAPI 设置
- 开通 OpenAPI 功能
- 点击 生成访问密钥
- 保存生成的 AccessKey,格式如:
ak-OD8xWhMOsL5ChQ3Akhv4uYYiu1fPOFQGVF9BULIeov8
⚠️ 重要提醒:
- AccessKey 仅显示一次,请妥善保管
- 不要将 AccessKey 提交到代码仓库
- 建议使用环境变量或配置文件管理
第三步:编写第一个程序
创建一个 Java 类,获取数据集列表:
package com.example.demo;
import com.lovrabet.runtime.opensdk.client.LovrabetSDKClient;
import com.lovrabet.runtime.opensdk.model.LovrabetRequest;
import com.lovrabet.runtime.opensdk.model.LovrabetResult;
import java.util.List;
public class QuickStartDemo {
public static void main(String[] args) {
// 1. 配置访问凭证(替换为您自己的凭证)
String accessKey = "ak-OD8xWhMOsL5ChQ3Akhv4uYYiu1fPOFQGVF9BULIeov8";
String appCode = "app-c2dd52a2";
String baseUrl = "https://runtime.lovrabet.com/openapi";
// 2. 创建 SDK 客户端
LovrabetSDKClient sdkClient = new LovrabetSDKClient(accessKey, baseUrl);
// 3. 构建请求参数
LovrabetRequest request = new LovrabetRequest();
request.setAppCode(appCode);
// 4. 调用 API 接口
LovrabetResult<?> result = sdkClient.getDatasetCodeList(request);
// 5. 处理返回结果
if (result.isSuccess()) {
List<String> datasetList = (List<String>) result.getData();
System.out.println("✅ 获取成功!");
System.out.println("数据集数量: " + datasetList.size());
System.out.println("数据集列表: " + datasetList);
} else {
System.err.println("❌ 获取失败: " + result.getResultMsg());
}
}
}
运行结果
如果一切正常,您将看到类似的输出:
✅ 获取成功!
数据集数量: 8
数据集列表: [b460abdbb0fb49e1865110d9dfbbc9b4, 32c036010c504757b80d438e3c0ec8b7, ...]
第四步:完成一次完整的 CRUD 操作
接下来,让我们完成一个完整的数据生命周期管理示例:创建数据 → 查询数据 → 更新数据。
package com.example.demo;
import com.lovrabet.runtime.opensdk.client.LovrabetSDKClient;
import com.lovrabet.runtime.opensdk.model.LovrabetRequest;
import com.lovrabet.runtime.opensdk.model.LovrabetResult;
import java.util.HashMap;
import java.util.Map;
public class CRUDDemo {
// 配置常量
private static final String ACCESS_KEY = "ak-OD8xWhMOsL5ChQ3Akhv4uYYiu1fPOFQGVF9BULIeov8";
private static final String BASE_URL = "https://runtime.lovrabet.com/openapi";
private static final String APP_CODE = "app-c2dd52a2";
private static final String MODEL_CODE = "32c036010c504757b80d438e3c0ec8b7";
public static void main(String[] args) {
// 创建 SDK 客户端
LovrabetSDKClient sdkClient = new LovrabetSDKClient(ACCESS_KEY, BASE_URL);
// 步骤 1: 创建数据
System.out.println("=== 步骤 1: 创建数据 ===");
Long newId = createData(sdkClient);
if (newId == null) {
System.err.println("创建数据失败,流程终止");
return;
}
System.out.println("✅ 创建成功,新记录 ID: " + newId);
// 步骤 2: 查询单条数据
System.out.println("\n=== 步骤 2: 查询数据 ===");
Map<String, Object> data = getOneData(sdkClient, newId);
if (data != null) {
System.out.println("✅ 查询成功: " + data);
}
// 步骤 3: 更新数据
System.out.println("\n=== 步骤 3: 更新数据 ===");
boolean updateSuccess = updateData(sdkClient, newId);
if (updateSuccess) {
System.out.println("✅ 更新成功");
}
// 步骤 4: 再次查询确认更新
System.out.println("\n=== 步骤 4: 确认更新 ===");
Map<String, Object> updatedData = getOneData(sdkClient, newId);
if (updatedData != null) {
System.out.println("✅ 更新后的数据: " + updatedData);
}
}
/**
* 创建数据
*/
private static Long createData(LovrabetSDKClient sdkClient) {
LovrabetRequest request = new LovrabetRequest();
request.setAppCode(APP_CODE);
request.setModelCode(MODEL_CODE);
// 设置业务数据
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("TEXT_1", "测试订单-001");
paramMap.put("NUMBER_3", 100);
paramMap.put("NUMBER_8", 999);
request.setParamMap(paramMap);
LovrabetResult<String> result = sdkClient.create(request);
if (result.isSuccess()) {
return Long.parseLong(result.getData());
} else {
System.err.println("❌ 创建失败: " + result.getResultMsg());
return null;
}
}
/**
* 查询单条数据
*/
private static Map<String, Object> getOneData(LovrabetSDKClient sdkClient, Long id) {
LovrabetRequest request = new LovrabetRequest();
request.setAppCode(APP_CODE);
request.setModelCode(MODEL_CODE);
request.setId(id);
LovrabetResult<?> result = sdkClient.getOne(request);
if (result.isSuccess()) {
return (Map<String, Object>) result.getData();
} else {
System.err.println("❌ 查询失败: " + result.getResultMsg());
return null;
}
}
/**
* 更新数据
*/
private static boolean updateData(LovrabetSDKClient sdkClient, Long id) {
LovrabetRequest request = new LovrabetRequest();
request.setAppCode(APP_CODE);
request.setModelCode(MODEL_CODE);
request.setId(id);
// 只更新部分字段
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("TEXT_1", "测试订单-001(已更新)");
paramMap.put("NUMBER_3", 200);
request.setParamMap(paramMap);
LovrabetResult<String> result = sdkClient.update(request);
if (result.isSuccess()) {
return true;
} else {
System.err.println("❌ 更新失败: " + result.getResultMsg());
return false;
}
}
}
运行结果
=== 步骤 1: 创建数据 ===
✅ 创建成功,新记录 ID: 1234
=== 步骤 2: 查询数据 ===
✅ 查询成功: {id=1234, TEXT_1=测试订单-001, NUMBER_3=100, NUMBER_8=999}
=== 步骤 3: 更新数据 ===
✅ 更新成功
=== 步骤 4: 确认更新 ===
✅ 更新后的数据: {id=1234, TEXT_1=测试订单-001(已更新), NUMBER_3=200, NUMBER_8=999}
常见问题
Q1: 提示 "AccessKey 无效" 怎么办?
检查清单:
- ✅ AccessKey 是否复制完整(不要有多余空格)
- ✅ 应用是否已开通 OpenAPI 功能
- ✅ AccessKey 是否未过期
Q2: 提示 "必填字段缺失" 怎么办?
不同的数据集有不同的字段要求,请:
- 登录 Lovrabet 云兔平台
- 进入数据集管理,查看字段定义
- 确保必填字段都已提供值
Q3: 如何知道数据集的字段名?
字段名通常遵循规则:字段类型_序号,例如:
TEXT_1- 第 1 个文本字段NUMBER_3- 第 3 个数字字段SELECT_4- 第 4 个选择字段
您可以在 Lovrabet 云兔平台的数据集定义中查看完整的字段列表。
下一步
🎉 恭喜!您已经完成了快速入门。
建议按以下顺序继续学习:
-
📖 快速开始 ← 当前位置 5 分钟完成第一个 CRUD 程序
-
📚 核心概念 ← 推荐下一步 深入理解 SDK 工作原理
-
📋 API 参考 查阅完整的接口文档
-
💡 业务示例 学习 5 个真实场景的实现
-
🚀 最佳实践 掌握生产环境优化技巧
-
❓ 常见问题 解决使用中的疑问
需要帮助? 访问 常见问题 或联系 service@lovrabet.com