Skip to content

Quick Start

This guide walks you through installing and configuring the Lovrabet Java OpenSDK and making your first API call in 5 minutes.


Prerequisites

  • JDK: Java 8 or later
  • Build tool: Maven 3.x or Gradle 7.x+
  • Lovrabet account: you need an account registered on the Lovrabet platform

Step 1: Add the dependency

Maven

Add the dependency to your pom.xml:

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

Gradle

Add the dependency to your build.gradle:

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

Step 2: Get your credentials

Before using the SDK, you need two pieces of information:

2.1 Get your app code (AppCode)

  1. Sign in to the Lovrabet platform
  2. Open the App Management page
  3. Select or create an app
  4. Copy the app's app code (AppCode), which looks like app-c2dd52a2

2.2 Generate an access key (AccessKey)

  1. On the app detail page, find OpenAPI Settings
  2. Enable the OpenAPI feature
  3. Click Generate access key
  4. Save the generated AccessKey, which looks like ak-OD8xWhMOsL5ChQ3Akhv4uYYiu1fPOFQGVF9BULIeov8

⚠️ Important:

  • The AccessKey is shown only once — store it safely
  • Never commit the AccessKey to a code repository
  • Manage it through environment variables or a config file

Step 3: Write your first program

Create a Java class that fetches the dataset list:

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

Output

If everything works, you'll see output like this:

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

Step 4: Complete a full CRUD cycle

Next, let's walk a record through its full lifecycle: create → read → update.

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

Output

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}

FAQ

Q1: What if I get "AccessKey invalid"?

Checklist:

  • ✅ Is the AccessKey copied in full, with no stray spaces?
  • ✅ Is the OpenAPI feature enabled for the app?
  • ✅ Has the AccessKey expired?

Q2: What if I get "Missing required field"?

Every dataset has its own field requirements:

  1. Sign in to the Lovrabet platform
  2. Open dataset management and check the field definitions
  3. Provide values for every required field

Q3: How do I find a dataset's field names?

Field names usually follow the pattern fieldType_index, for example:

  • TEXT_1 — the first text field
  • NUMBER_3 — the third number field
  • SELECT_4 — the fourth select field

You can view the complete field list in the dataset definition on the Lovrabet platform.


Next steps

🎉 Congratulations — you've finished the quick start!

Recommended learning order:

  1. 📖 Quick Start ← You are here — build your first CRUD program in 5 minutes
  2. 📚 Core Concepts ← Recommended next — understand how the SDK works
  3. 📋 API Reference — browse the complete interface documentation
  4. 💡 Business Examples — learn from five real-world scenarios
  5. 🚀 Best Practices — production optimization tips
  6. FAQ — answers to common questions

Need help? Visit the FAQ or contact service@lovrabet.com

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