Named Credentials — Benefits & Usage

DEX455 - Apex 集成与工具完全指南:Callouts、命名凭据、WSDL2Apex、Mock 测试

📄 第 360 页 🎬 视频课程

课程章节介绍

同学们,今天我们来看一下Salesforce里一个特别实用的功能,叫,命名凭据,。 你可以把命名凭据理解成:我们给一个外部服务的地址和登录信息,起一个固定的名字。以后在代码里要做接口调用的时候,就直接喊这个名字,而不用再一遍遍去写又长又容易错的URL和认证信息了。 这样做最大的好处就是维护起来非常省心。比如说,最近公司有个第三方系统的接口地址换了,从原来的测试环境迁移到了正式环境。在以前,你要是直接在Apex代码里写死了URL,那所有相关的调用位置你都得改。但现在有了命名凭据,你只需要进到设置里,把那个命名凭据对应的端点URL改一次,,所有引用它的地方就都跟着生效了,,你不用碰一行代码。 再举个例子,假设你做了一个功能要部署给多个客户,或者你们公司有沙盒、生产等好几个环境。这些环境里,同一个外部服务可能地址不同。这时候,你可以在每个环境创建一个,叫法一模一样,的命名凭据,但把各自正确的URL填进去。然后你的代码里只引用这个共同的名字,打包部署到任何环境都能直接跑,完全不用为环境差异改代码,非常方便。 那在代码里具体怎么引用命名凭据呢?格式其实很简单。它是以 `callout:` 开头,后面跟上你给命名凭据起的名字,还可以在后面加一段具体的路径。 比如你有一个命名凭据叫 `MyPaymentGateway`,你想调用它的下单接口 `/api/orders`,那完整的地址写法就是:`callout:MyPaymentGateway/api/orders`。 如果还想在后面带上问号跟查询参数,比如 `?page=1`,你直接拼上去就行,就像普通网址一样:`callout:MyPaymentGateway/api/orders?page=1`。 这样一来,你既不用在代码里暴露真实的服务器地址,也把认证信息集中管理了,又安全又好维护。 好,关于命名凭据的基本概念我们就先讲到这儿。大家可以先消化一下,下一节我们会看看怎么在设置里具体创建一个命名凭据。

关键词

Apex Salesforce Developer Guide