用于对象创建的Salesforce Java rest api json结构

用于对象创建的Salesforce Java rest api json结构,java,json,rest,salesforce,Java,Json,Rest,Salesforce,我正在尝试为Salesforce的定制java应用程序设置RESTAPI集成。我遵循了教程/参考资料,即- 这些很好用。我的问题涉及通过RESTAPI创建/更新Salesforce对象。用于构造要创建的相应对象的特定代码段是-| //create the JSON object containing the new lead details. JSONObject lead = new JSONObject(); lead.put("First

我正在尝试为Salesforce的定制java应用程序设置RESTAPI集成。我遵循了教程/参考资料,即-

这些很好用。我的问题涉及通过RESTAPI创建/更新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对象似乎是一个维护问题。这涉及到现在必须检查一个对象的整个字段列表,可能是100,并获得它们的字段名。这看起来真的很乏味。有没有一种方法可以让我们在java中获得特定Salesforce对象的对象结构,然后也许我可以使用外部库(如
Jackson
及其注释)将该对象序列化为json,而不必手动构造该json对象?我曾尝试在网上查找,但目前唯一可行的方法是实际获取字段名,自己构造一个JavaBean,并将其序列化为json。是否可以使用Salesforce的任何功能更简洁地实现这一点?

您是否可以灵活地在Apex类中设置REST服务,并将对象类型作为字符串传递给它

您可以编写一个web服务,通过在SF端使用JSON.serialize()并根据传递到服务中的内容返回sObject的JSON