단일 레코드 조회
SObject의 API Name과 레코드 Id를 사용하여 레코드의 상세 정보를 조회합니다.
-
Database 클래스에 아래의 메소드를 추가합니다
HttpGet 메소드를 사용합니다.
public static JsonObject querySingle(ConnectionInfo connInfo, String objectName, String recordId) { JsonObject jsonObject = null; try { String serviceEndpoint = "/services/data/v58.0/sobjects/" + objectName + "/" + recordId; String url = connInfo.getInstanceUrl() + serviceEndpoint; HttpGet req = new HttpGet(url); req.setHeader("Content-type", "application/x-www-form-urlencoded"); req.setHeader("Authorization", "Bearer " + connInfo.getAccessToken()); String result = call(req); try { JsonElement jl = JsonParser.parseString(result); jsonObject = jl.getAsJsonObject(); } catch (JsonParseException jsonException) { jsonException.printStackTrace(); } req.releaseConnection(); } catch (Exception e) { System.out.println(e); } return jsonObject; } -
App 클래스에 아래의 메소드를 추가합니다.
public static void querySingle(ConnectionInfo connectionInfo){ try { String objectName = "Account"; String recordId = "001xxxxxxxxxxxxxxx"; JsonObject jsonObject = Database.querySingle(connectionInfo, objectName, recordId); Gson gson = new GsonBuilder().setPrettyPrinting().create(); String json = gson.toJson(jsonObject); System.out.println(json); } catch (Exception e) { System.out.println(e); } }recordId에는 정상적인 Account의 레코드 Id를 지정하시기 바랍니다. -
App 클래스의
main메소드를 아래와 같이 수정을 합니다.// Data function block begin //querySample(connectionInfo); //batchSample(connectionInfo); querySingle(connectionInfo); // Data function block end -
main메소드 위의Run을 클릭하여 프로그램을 실행해 봅니다.아래와 같은 형식의 데이터가 표시되면 정상적으로 동작을 하는 것입니다.
{ "attributes": { "type": "Account", "url": "/services/data/v58.0/sobjects/Account/001xxxxxxxxxxxxxxx" }, "Id": "001xxxxxxxxxxxxxxx", "IsDeleted": false, "Name": "GenePoint", "Type": "Customer - Channel", "BillingStreet": "345 Shoreline Park\nMountain View, CA 94043\nUSA", "BillingCity": "Mountain View", "BillingState": "CA", "BillingAddress": { "city": "Mountain View", "state": "CA", "street": "345 Shoreline Park\nMountain View, CA 94043\nUSA" }, "ShippingStreet": "345 Shoreline Park\nMountain View, CA 94043\nUSA", ... ... }