Представление данных Salesforce как API отдыха - PullRequest
0 голосов
/ 03 февраля 2020

Я новичок в Salesforce и хотел бы получить совет специалиста о том, как я могу представить данные Sales Force в качестве API отдыха, чтобы их могла использовать внешняя Система. Я подумал, что если я смогу создать класс Apex, как показано ниже

@RestResource(urlMapping='/GetAccounts/*')
global with sharing class GetAccounts {
    @HttpGet
    global static Account doGet() {
        RestRequest req = RestContext.request;
        RestResponse res = RestContext.response;
        String accountId = req.requestURI.substring(req.requestURI.lastIndexOf('/')+1);
        Account result = [SELECT Id, Name FROM Account WHERE Id = :accountId];
        return result;
    }
}

И чтобы внешний пользователь мог использовать данные, я подумал, что смогу настроить подключенное приложение и предоставить им имя пользователя, пароль, потребитель Ключ, Секрет потребителя, и они должны проходить аутентификацию в Salesforce, чтобы получить URI и идентификатор сеанса. Используя SessionID и URI, вы сможете вызывать API, представленный выше. Является ли это правильным подходом, пожалуйста, дайте мне знать, если я что-то здесь упускаю.

Также существует требование использовать Swagger с API, возможно ли использование Swagger в классе Apex. Не могли бы вы помочь, как я могу использовать Swagger с моим API здесь.

1 Ответ

0 голосов
/ 04 февраля 2020

Прежде всего вы должны попытаться использовать стандартный REST API Salesforce. Вы можете проверить полную документацию здесь. https://developer.salesforce.com/docs/api-explorer/sobject/Account

Возможно, вы спрашиваете себя, хорошо, когда я должен представить класс APEX в качестве REST API, как код, который вы предоставили? Это необходимо делать, когда вам нужно выполнить пользовательскую логику c и объединить ее с вызовом API.

Предоставление Salesforce REST API в качестве спецификации OPEN API (Swagger) пока не поддерживается. Вы можете проголосовать за эту идею, если вам это нужно. https://success.salesforce.com/ideaView?id=0873A000000cQsxQAE

Но поддерживается и другой способ. Вы можете импортировать файл спецификации Swagger и вызывать его, используя точки и клики из Salesforce. Проверьте этот блог для более подробной информации: https://andyinthecloud.com/2017/07/23/simplified-api-integrations-with-external-services/

...