用Postman制作API原型的详细指南

152 阅读8分钟

用Postman进行API原型开发

Postman可以帮助你在API的两端--无论是作为提供者还是作为消费者--开始构建你的API驱动的集成的核心。

简介

无论你是Postman的长期开发者还是该平台的新手,Postman为你带来了所有你需要的工具,使这个过程更简单、更快速、更精简。

在这篇文章中,我们将展示Postman如何帮助您在API的两边开始构建API驱动的集成的核心--无论是作为提供者还是消费者。

开发Salesforce的API

虽然Salesforce有几个预建的应用程序,用于销售、服务和营销等关键业务任务,但在这篇文章中,我们将重点介绍Salesforce作为一个开发平台的能力,以及它自己的编程语言。Apex。

Salesforce可以将自定义编码的服务以SOAP网络服务或REST API的形式暴露给第三方应用程序。在我们的演示中,我们将开发一个非常轻量级的REST API,并演示Postman如何加速这一过程。

Postman如何加速开发

Postman最受欢迎的用例之一是探索第三方应用程序的API,以更好地了解如何提交请求,以及对响应的期望。通过看到请求和响应,开发自己的代码来处理这些API就变得更加容易。我们还可以开发一个我们自己的API的模拟服务器实现,一个能产生预期响应的模拟服务器。这样一来,我们就不需要等待API的 "真实 "实现,就可以开始为其开发。通过使用Postman的API开发工具,我们可以API和使用它的代码完成开发*之前,*迅速建立Salesforce REST API的原型。

将其结合起来

作为第一步,我们将使用Postman最强大的功能之一:模拟服务器。

模拟服务器

模拟服务器是一个轻量级的服务器接口,它可以真实地响应你的API请求,让你快速、轻松地获得有效的响应,而不必过多地担心细节问题。使用Postman,你可以在很短的时间内启动一个模拟服务器,响应你设计的HTTP请求,而不需要编码。通过将你的代码指向这个模拟服务器,你可以编写和测试你的API消费者代码。

我们的例子将使用桌面客户端,但这里的一切都应该同样适用于Postman的网络客户端。模拟服务器可以在Postman的工作区中找到。

创建和配置模拟服务器

点击创建模拟服务器来开始。

检查浏览器的控制台,看看我们的模拟服务器的输出情况。

接下来,我们可以开始定义我们想要模拟的HTTP请求。通过指定HTTP请求方法、URL、响应代码和响应体,我们可以告诉Postman如何响应请求。

在这个例子中,我们要模拟一个Salesforce账户记录的请求。我们没有硬编码Salesforce账户id ,而是使用Postman的能力来使用变量。通过匹配请求和响应中的变量,我们可以返回请求中提供的任何值。我们将在后面更详细地使用这个功能。

现在,我们将只模拟一个请求,然后点击 "下一步"按钮,用更多的参数最终完成我们的模拟服务器设置。

除了命名模拟服务器外,我们将坚持使用默认值并点击创建模拟服务器按钮。这将创建我们的模拟服务器实例,有一个独特的URL用于接收请求,如下图所示。

由于我们选择了将模拟服务器的URL保存为环境变量的选项,然而,有一个更简单的方法来引用它。如果我们展开Postman右上方的环境下拉菜单,我们会看到一个环境是自动为我们创建的。

如果我们选择了这个环境,模拟服务器的URL就会在一个叫做{{url}} 的参数中自动为我们填充。创建一个新的模拟服务器的过程也为我们创建了一个新的Postman集合。这个集合有我们的请求,并且这个请求已经准备好让我们在适当的地方填充参数。

当我们选择这个请求时,我们会看到建立我们请求的用户界面。通过将请求中的{{accountId}} 变量替换成一个例子id ,然后发送请求,我们应该从我们的模拟服务器中收到一个响应,该响应重复了id ,并返回给我们。

扩展模拟响应

现在我们有了基本的模拟服务器工作,我们可以扩展响应,使之更有意义和现实意义。从工作区树状视图中展开我们集合中的示例请求,并点击该示例(目前称为 "Default")。

我们要对模拟服务器对这个请求的响应方式做一些改变。attributes 字段不是必须的。我们只是在模拟Salesforce的响应方式。

在底部的响应体标签中,用下面的JSON替换内容。

{
  "attributes" : 
    {
      "type" : "Account",
      "url" : "/services/data/v53.0/sobjects/Account/accountId"
    },
  "Id" : "{{accountId}}",
  "Name" : "{{$randomCompanyName}}"
}

注意我们如何利用Postman的方便的$randomCompanyName 变量。许多有用的变量可以用来生成示例数据,这里有记录。

在底部的响应头标签中,添加一个Content-Type ,其值为application/json

点击 "保存"来更新示例响应。现在,模拟服务器将对我们之前的请求做出更新的响应。

在这一点上,我们可以向我们的集合添加额外的请求和例子。点击我们的集合名称旁边的省略号(... )图标,选择添加请求来生成一个新的请求。然后,点击新请求旁边的省略号图标,选择添加实例。这就增加了一个新的例子,模拟服务器将为你的请求提供响应。你可以像以前一样通过指定新的路径、HTTP动词和响应来建立一个新的模拟服务器响应,直到你起草完你的API。在这一点上,我们甚至可以从Postman外部测试API--最快速的方法之一是通过Postman的代码片段功能。这样就可以同样快速地开发代码来使用API。

代码片段

Postman提供了调用你的API的示例代码,不管是模拟的还是其他的,都可以用几种语言和库。在你的工作空间中选择了一个请求,点击右边的</> 图标,展开代码片段菜单。从这里,你可以选择一个合适的语言/库组合,看到调用你的API的示例代码。

对于Postman模拟服务器,CORS是启用的。因此,你可以使用模拟端点将你的网络应用程序与模拟数据串联起来。然后,开发或生产网络应用可以向你的Postman模拟端点发出请求,并接收示例响应。

该代码段将在可能的情况下解析变量。在我们的例子中,我们使用{{url}} 变量来引用我们的模拟服务器,这将为我们展开。这在下面的JavaScript Fetch代码示例中显示。

重要提示:这个由Postman生成的代码片段有一个小错误。通过Fetch发送的HTTP GET请求应该在请求中设置一个body。对于我们的测试,我们将需要删除上面例子中的第5行。下面是更新后的代码,被包裹在一个轻量级的HTML页面中。

<html>
    <head>
        <script>
            var raw = "";
            var requestOptions = {
            method: 'GET',
            redirect: 'follow'
            };
            fetch("https://768bb73c-2824-49fa-8787-3967ce6ea0c1.mock.pstmn.io//Account/001000000WCFB8", requestOptions)
            .then(response => response.text())
            .then(result => console.log(result))
            .catch(error => console.log('error', error));
        </script>
    </head>
    <body>
        <p>Check the browser console to see the output from our mock server.</p>
    </body>
</html>

总结

在这篇文章中,我们已经了解了在Postman中设置模拟服务器的基础知识--从创建模拟服务器和样本响应到用更有意义的JSON数据来扩展它并添加额外的响应。我们还看到了生成代码片段是多么简单,它显示了如何用你选择的语言/平台来消费API。代码片段大大有助于开发你自己的工具,利用你的API。

利用Postman提供的工具,我们可以向实施API的Salesforce开发人员和作为集成的一部分与Salesforce通信的其他平台的开发人员提供技术要求。

在与Postman和Salesforce的合作中,有大量的进一步资源可用。以下是与我们在这里所涉及的内容相关的一些资源。