Skip to content

快速开始

本指南将帮助您在 5 分钟内 完成 Lovrabet Java OpenSDK 的安装、配置和第一次 API 调用。


前置要求

  • JDK: Java 8 或更高版本
  • 构建工具: Maven 3.x 或 Gradle 7.x+
  • Lovrabet 账户: 需要在 Lovrabet 云兔平台 注册账户

第一步:引入依赖

Maven 配置

在您的 pom.xml 中添加依赖:

XML
<dependency>
    <groupId>com.lovrabet.runtime</groupId>
    <artifactId>lovrabet-runtime-opensdk</artifactId>
    <version>1.0.0-SNAPSHOT</version>
</dependency>

Gradle 配置

在您的 build.gradle 中添加依赖:

Plain
implementation 'com.lovrabet.runtime:lovrabet-runtime-opensdk:1.0.0-SNAPSHOT'

第二步:获取访问凭证

在使用 SDK 之前,您需要获取两个关键信息:

2.1 获取应用编码(AppCode)

  1. 登录 Lovrabet 云兔平台
  2. 进入 应用管理 页面
  3. 选择或创建一个应用
  4. 复制应用的 应用编码(AppCode),格式如:app-c2dd52a2

2.2 生成访问密钥(AccessKey)

  1. 在应用详情页,找到 OpenAPI 设置
  2. 开通 OpenAPI 功能
  3. 点击 生成访问密钥
  4. 保存生成的 AccessKey,格式如:ak-OD8xWhMOsL5ChQ3Akhv4uYYiu1fPOFQGVF9BULIeov8

⚠️ 重要提醒

  • AccessKey 仅显示一次,请妥善保管
  • 不要将 AccessKey 提交到代码仓库
  • 建议使用环境变量或配置文件管理

第三步:编写第一个程序

创建一个 Java 类,获取数据集列表:

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());
        }
    }
}

运行结果

如果一切正常,您将看到类似的输出:

Plain
✅ 获取成功!
数据集数量: 8
数据集列表: [b460abdbb0fb49e1865110d9dfbbc9b4, 32c036010c504757b80d438e3c0ec8b7, ...]

第四步:完成一次完整的 CRUD 操作

接下来,让我们完成一个完整的数据生命周期管理示例:创建数据 → 查询数据 → 更新数据。

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.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;
        }
    }
}

运行结果

Plain
=== 步骤 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: 提示 "必填字段缺失" 怎么办?

不同的数据集有不同的字段要求,请:

  1. 登录 Lovrabet 云兔平台
  2. 进入数据集管理,查看字段定义
  3. 确保必填字段都已提供值

Q3: 如何知道数据集的字段名?

字段名通常遵循规则:字段类型_序号,例如:

  • TEXT_1 - 第 1 个文本字段
  • NUMBER_3 - 第 3 个数字字段
  • SELECT_4 - 第 4 个选择字段

您可以在 Lovrabet 云兔平台的数据集定义中查看完整的字段列表。


下一步

🎉 恭喜!您已经完成了快速入门。

建议按以下顺序继续学习

  1. 📖 快速开始 ← 当前位置5 分钟完成第一个 CRUD 程序
  2. 📚 核心概念 ← 推荐下一步深入理解 SDK 工作原理
  3. 📋 API 参考查阅完整的接口文档
  4. 💡 业务示例学习 5 个真实场景的实现
  5. 🚀 最佳实践掌握生产环境优化技巧
  6. 常见问题解决使用中的疑问

需要帮助? 访问 常见问题 或联系 service@lovrabet.com

基于飞书知识库同步生成,内容以飞书源文档为准