Структура Salesforce Java rest api json для создания объектов

Я пытаюсь настроить интеграцию REST API для пользовательского Java-приложения с Salesforce. Я следил за учебными пособиями / ресурсами, а именно:

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/

Они отлично работают. Мой вопрос касается создания / обновления объекта Salesforce через REST api. Конкретный фрагмент кода для создания соответствующего объекта для создания is- |

        //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, и получить их имя поля. Это кажется действительно утомительным. Есть ли способ получить структуру объекта конкретного объекта Salesforce в java, а затем, возможно, я смогу использовать внешние библиотеки, такие как Jackson и его аннотации, для сериализации объекта в json вместо того, чтобы вручную создавать этот объект json? Я попытался найти это в Интернете, но в настоящее время единственный возможный способ - это получить имена полей и самому построить Java-компонент и сериализовать его в json. Есть ли более чистый способ сделать это, возможно, используя какие-либо возможности Salesforce?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
714
1

Ответы 1

Есть ли у вас возможность настроить службу REST в классе Apex, которому вы можете передать тип объекта как String?

Вы можете написать веб-службу, которая возвращает JSON sObject, используя JSON.serialize () на стороне SF и возвращая его на основе того, что было передано в службу.

Другие вопросы по теме