将Salesforce数据公开为Rest API

将Salesforce数据公开为Rest API,rest,api,salesforce,swagger,swagger-codegen,Rest,Api,Salesforce,Swagger,Swagger Codegen,我是Salesforce的新手,我想获得一些专家建议,了解如何将Salesforce数据公开为RESTAPI,以便外部系统使用它。我想如果我能创建一个像 下面 对于使用数据的外部用户,我认为我可以设置一个连接的应用程序,向他们提供用户名、密码、用户密钥和用户机密,他们应该向Salesforce进行身份验证,以获取URI和会话ID。使用SessionID和URI,应该能够调用上面公开的API。这是正确的方法吗?如果我遗漏了什么,请告诉我 此外,还需要在API中使用Swagger,是否可以在Apex

我是Salesforce的新手,我想获得一些专家建议,了解如何将Salesforce数据公开为RESTAPI,以便外部系统使用它。我想如果我能创建一个像 下面

对于使用数据的外部用户,我认为我可以设置一个连接的应用程序,向他们提供用户名、密码、用户密钥和用户机密,他们应该向Salesforce进行身份验证,以获取URI和会话ID。使用SessionID和URI,应该能够调用上面公开的API。这是正确的方法吗?如果我遗漏了什么,请告诉我


此外,还需要在API中使用Swagger,是否可以在Apex类中使用Swagger。您能帮助我如何在这里利用Swagger和我的API吗。

首先,您应该尝试使用Salesforce标准REST API。您可以从这里查看完整的文档。

您可能会问自己,我什么时候应该像您提供的代码一样将APEX类公开为RESTAPI? 当需要执行自定义逻辑并与API调用结合时,需要这样做

尚不支持将Salesforce REST API公开为开放式API规范(Swagger)。如果需要,你可以投票支持这个想法。

但另一种方式得到了支持。您可以从Salesforce导入一个swagger规范文件,并使用点击调用它。 有关更多详细信息,请查看此博客:
首先,您应该尝试使用Salesforce标准REST API。您可以从这里查看完整的文档。

您可能会问自己,我什么时候应该像您提供的代码一样将APEX类公开为RESTAPI? 当需要执行自定义逻辑并与API调用结合时,需要这样做

尚不支持将Salesforce REST API公开为开放式API规范(Swagger)。如果需要,你可以投票支持这个想法。

但另一种方式得到了支持。您可以从Salesforce导入一个swagger规范文件,并使用点击调用它。 有关更多详细信息,请查看此博客:

您是否检查过是否已经存在满足您需要的API?@Helen code只是一个示例。我需要把更多细节反馈给外部系统。只是想确定这种方法是否正确。您是否检查过是否已经存在满足您需要的API?@Helen code只是一个示例。我需要把更多细节反馈给外部系统。只是想确定这个方法是否正确
@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;
    }
}