[英]Salesforce Java rest api json structure for object creation
我正在嘗試使用Salesforce為自定義Java應用程序設置REST API集成。 我遵循了教程/資源-
http://www.asagarwal.com/step-by-step-guide-to-get-started-with-salesforce-rest-api-using-java/
這些工作正常。 我的問題涉及通過REST API創建/更新Salesforce對象。 構造要創建的各個對象的特定代碼段是-|
//create the JSON object containing the new lead details.
JSONObject lead = new JSONObject();
lead.put("FirstName", "REST API");
lead.put("LastName", "Lead");
lead.put("Company", "asagarwal.com");
然后是構建此http請求的部分,這很常見-
//Construct the objects needed for the request
HttpClient httpClient = HttpClientBuilder.create().build();
HttpPost httpPost = new HttpPost(uri);
httpPost.addHeader(oauthHeader);
httpPost.addHeader(prettyPrintHeader);
// The message we are going to post
StringEntity body = new StringEntity(lead.toString(1));
body.setContentType("application/json");
httpPost.setEntity(body);
在我看來,以這種方式構造json對象似乎是一個維護問題。 現在,這涉及到必須遍歷對象的整個字段列表(可能是100s)並獲取其字段名稱。 這似乎很乏味。 有沒有一種方法可以在Java中獲取特定Salesforce對象的對象結構,然后也許我可以使用外部庫(例如Jackson
和其批注)將對象序列化為json,而不必手動構造此json對象? 我嘗試過在線查找此方法,但是當前唯一可行的方法是實際獲取字段名稱並自己構造一個Java bean並將其序列化為json。 有沒有更干凈的方法可以使用Salesforce的任何功能來做到這一點?
您是否具有在Apex類中設置REST服務(可以將對象類型作為String傳遞)的靈活性?
您可以編寫一個Web服務來返回sObject的JSON,方法是在SF端使用JSON.serialize()並根據傳遞給該服務的內容返回它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.