Quick Start
This guide will help you complete the installation, configuration, and first API call of Lovrabet Java OpenSDK in 5 minutes.
Prerequisites
- JDK: Java 8 or higher
- Build Tool: Maven 3.x or Gradle 7.x+
- Lovrabet Account: Register an account on Lovrabet Platform
Step 1: Add Dependency
Maven Configuration
Add the dependency to your pom.xml:
<dependency>
<groupId>com.lovrabet.runtime</groupId>
<artifactId>lovrabet-runtime-opensdk</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
Gradle Configuration
Add the dependency to your build.gradle:
implementation 'com.lovrabet.runtime:lovrabet-runtime-opensdk:1.0.0-SNAPSHOT'
Step 2: Obtain Access Credentials
Before using the SDK, you need to obtain two key pieces of information:
2.1 Get AppCode
- Log in to Lovrabet Platform
- Go to Application Management
- Select or create an application
- Copy the AppCode, format like:
app-c2dd52a2
2.2 Generate AccessKey
- In application details, find OpenAPI Settings
- Enable OpenAPI feature
- Click Generate AccessKey
- Save the generated AccessKey, format like:
ak-OD8xWhMOsL5ChQ3Akhv4uYYiu1fPOFQGVF9BULIeov8
⚠️ Important Reminder:
- AccessKey is displayed only once, please keep it safe
- Do not commit AccessKey to code repository
- Recommend using environment variables or configuration files
Step 3: Write Your First Program
Create a Java class to get the dataset list:
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. Configure access credentials (replace with your own)
String accessKey = "ak-OD8xWhMOsL5ChQ3Akhv4uYYiu1fPOFQGVF9BULIeov8";
String appCode = "app-c2dd52a2";
String baseUrl = "https://runtime.lovrabet.com/openapi";
// 2. Create SDK client
LovrabetSDKClient sdkClient = new LovrabetSDKClient(accessKey, baseUrl);
// 3. Build request parameters
LovrabetRequest request = new LovrabetRequest();
request.setAppCode(appCode);
// 4. Call API interface
LovrabetResult<?> result = sdkClient.getDatasetCodeList(request);
// 5. Handle response
if (result.isSuccess()) {
List<String> datasetList = (List<String>) result.getData();
System.out.println("✅ Success!");
System.out.println("Dataset count: " + datasetList.size());
System.out.println("Dataset list: " + datasetList);
} else {
System.err.println("❌ Failed: " + result.getResultMsg());
}
}
}
Expected Output
If everything works correctly, you should see output similar to:
✅ Success!
Dataset count: 8
Dataset list: [b460abdbb0fb49e1865110d9dfbbc9b4, 32c036010c504757b80d438e3c0ec8b7, ...]
Step 4: Complete a Full CRUD Operation
Next, let's complete a full data lifecycle example: create data → query data → update data.
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 {
// Configuration constants
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) {
// Create SDK client
LovrabetSDKClient sdkClient = new LovrabetSDKClient(ACCESS_KEY, BASE_URL);
// Step 1: Create data
System.out.println("=== Step 1: Create Data ===");
Long newId = createData(sdkClient);
if (newId == null) {
System.err.println("Failed to create data, process terminated");
return;
}
System.out.println("✅ Created successfully, new record ID: " + newId);
// Step 2: Query single record
System.out.println("\n=== Step 2: Query Data ===");
Map<String, Object> data = getOneData(sdkClient, newId);
if (data != null) {
System.out.println("✅ Query successful: " + data);
}
// Step 3: Update data
System.out.println("\n=== Step 3: Update Data ===");
boolean updateSuccess = updateData(sdkClient, newId);
if (updateSuccess) {
System.out.println("✅ Update successful");
}
// Step 4: Query again to confirm update
System.out.println("\n=== Step 4: Confirm Update ===");
Map<String, Object> updatedData = getOneData(sdkClient, newId);
if (updatedData != null) {
System.out.println("✅ Updated data: " + updatedData);
}
}
/**
* Create data
*/
private static Long createData(LovrabetSDKClient sdkClient) {
LovrabetRequest request = new LovrabetRequest();
request.setAppCode(APP_CODE);
request.setModelCode(MODEL_CODE);
// Set business data
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("TEXT_1", "Test Order-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("❌ Create failed: " + result.getResultMsg());
return null;
}
}
/**
* Query single record
*/
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("❌ Query failed: " + result.getResultMsg());
return null;
}
}
/**
* Update data
*/
private static boolean updateData(LovrabetSDKClient sdkClient, Long id) {
LovrabetRequest request = new LovrabetRequest();
request.setAppCode(APP_CODE);
request.setModelCode(MODEL_CODE);
request.setId(id);
// Only update specific fields
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("TEXT_1", "Test Order-001 (Updated)");
paramMap.put("NUMBER_3", 200);
request.setParamMap(paramMap);
LovrabetResult<String> result = sdkClient.update(request);
if (result.isSuccess()) {
return true;
} else {
System.err.println("❌ Update failed: " + result.getResultMsg());
return false;
}
}
}
Expected Output
=== Step 1: Create Data ===
✅ Created successfully, new record ID: 1234
=== Step 2: Query Data ===
✅ Query successful: {id=1234, TEXT_1=Test Order-001, NUMBER_3=100, NUMBER_8=999}
=== Step 3: Update Data ===
✅ Update successful
=== Step 4: Confirm Update ===
✅ Updated data: {id=1234, TEXT_1=Test Order-001 (Updated), NUMBER_3=200, NUMBER_8=999}
Common Issues
Q1: Error "Invalid AccessKey" - What to do?
Checklist:
- ✅ Is AccessKey copied completely (no extra spaces)
- ✅ Is OpenAPI feature enabled for the application
- ✅ Has AccessKey not expired
Q2: Error "Required field missing" - What to do?
Different datasets have different field requirements. Please:
- Log in to Lovrabet Platform
- Go to dataset management, view field definitions
- Ensure all required fields have values
Q3: How to know the field names of a dataset?
Field names usually follow the pattern: FieldType_Number, for example:
TEXT_1- First text fieldNUMBER_3- Third number fieldSELECT_4- Fourth select field
You can view the complete field list in the dataset definition on Lovrabet Platform.
Next Steps
🎉 Congratulations! You have completed the quick start.
Recommended learning path:
-
📖 Quick Start ← Current location Complete your first CRUD program in 5 minutes
-
📚 Core Concepts ← Recommended next Deep dive into SDK architecture
-
📋 API Reference Browse complete API documentation
-
💡 Examples Learn 5 real-world scenarios
-
🚀 Best Practices Master production optimization techniques
-
❓ FAQ Resolve common questions
Need help? Visit FAQ or contact service@lovrabet.com