簡體   English   中英

用於創建對象的Salesforce Java Rest API JSON結構

[英]Salesforce Java rest api json structure for object creation

我正在嘗試使用Salesforce為自定義Java應用程序設置REST API集成。 我遵循了教程/資源-

https://developer.salesforce.com/blogs/developer-relations/2017/04/machine-machine-salesforce-integrations-java-rest-soap.html

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM