参考网址: api-building-and-testing-made-easier-with-postman

API (application programming interface) 是指一种应用间交互的方法。通过 HTTP 或者 HTTPS 方法来构建的 API 被称作 Web API。

如果你到网上看看,会发现很多服务都在使用 API。
例如:
1. 任何社交应用的登陆都使用 API。
2. 电子商务网站的移动应用使用 API。
3. 甚至 (ads) 美国存托股份的网站也是使用 API。

通过为你的服务创建 API ,你能够允许第三方开发者来创建基于你服务的应用。例如,社交媒体 Frrole 通过使用 Twitter API 来分析大量的推文,从而生成符合语境的见解。

让我们来简单地说说创建和测试 API 的步骤。

Creating APIs (创建 API )

虽然有很多种方法能创建 API ,Web API 是通过 REST (表征状态转移) 框架来构建的。REST 框架声明了一种指引,当创建 API 时必须跟随这个指引。随着与日俱增的 API 被创建,这个指引逐渐成为基于 Web 的 API 的创建标准。

API 最常执行的是 查看,新建,修改,删除 对象。REST 框架将四个 HTTP 的动作映射到这四种行为上:GET, POST, PUT, DELETE。还有很多 HTTP 动作像 PURGE 和 PATCH 添加在清单里,但在本文章,我们只关注这四种基础的动作。创办 Enchant.com 的 Vinay Sahni 写的 the best practices for a pragmatic RESTful API 这篇文章,可能对初级开发者比较有用。

如今,很多框架提供基于 HTTP 层面的封装,以此来让我们作为开发者的开发过程变得更加轻松。你只需要通过命令行或者函数来调用,并且只需要关注它的功能。有两种比较受欢迎的例子是 SlimToro,这两个是基于 PHP 的微型框架,来帮助你快速地创建 REST APIs。

Testing APIs through the CLI (通过命令行界面来测试 API)

创建 API 的基本目的是让应用程序(自己创建的或者第三方开发者创建的)来使用服务。因此,在 API 创建的每个阶段,一个重要的部分是去测试 API 的功能性,以及操作性和安全性。

使用 API 包含通过一种 HTTP 动作(或方法)来请求资源(通常使用URL)。你应该根据你所使用的 API 的需求来添加 headers 。一种请求资源的方法是通过命令行。

在这篇文章中,我们会集中关注调用 API 四部分-URL,HTTP 动作,headers 以及参数。我们会使用 cURL 库来通过命令行界面发送一个请求去请求 API 的资源。cURL 是一个帮助我们通过 URL 语法来传送数据的命令行工具,它支持 FTP,FTPS,HTTP,HTTPS。

我们来看看下面的命令:

-i 参数代替 include,来声明该请求存在自定义的 headers 。-X 参数后跟随的是 HTTP 动作或者方法。-H 参数后跟随的是添加到请求上的自定义的 headers。-d 参数后跟随的是该请求所要发送的表单数据。

调用 API 的结果是返回一个 HTTP 响应,通常是用 JOSN 格式编码的。响应通常与 HTTP 响应代码成对出现,HTTP 响应代码体现了请求的状态(200 表示 OK,404 表示请求的资源不存在,500 表示服务器错误,403 表示资源禁止访问)。例如,下面的响应来自于早期的请求,和 200 状态码一起:

在命令行里测试响应也许是一件比较有挑战性的事,特别是当响应存在大量的设置项。

更多的在命令行界面中测试 API 的设置可以参考 this detailed guide by Codingpedia

Make Testing Easier with Postman (通过 Postman 来更简便地测试 API)

Postman 是一个 chrome 的应用,是一个强有力的 API 开发工具,可以让 API 的开发更快且更少痛苦。现在,Postman 不能运行在其他平台。你得首先安装 chrome ,在 chrome 的应用商店里下载安装 Postman

首先让我们看看怎样通过 Postman 模拟在 CLI 的请求。下面的图片展示在 Postman 里面创建 API 的调用。只需在输入框内正确填写 URL ,然后选择 HTTP 动作,再按 Send 就可以调用 API。

Postman_demo

Postman 会自动地保存 API 的历史调用,当测试 API 的时候可以剩下很多时间。更进一步,你可以将 API 的调用按照类别归类。下面显示的是一个 API 历史调用的例子:

Postman_History

Using the Postman Echo through Postman (通过 Postman 来使用 Postman 自带的例子)

打开 Postman ,在 Collections 标签下可以看到一系列的例子。我们现在来详细说明一下各部分的作用。

Postman_Echo

Request (请求信息)

Authorization

如下图,右面的 Authorization 标签可以选择不同的验证方式,按要求填入信息即可在发送请求的时候自动将信息录入请求头里面。

Postman_Auth

Headers

Headers 标签里可以添加自定义的 Header。

Postman_Headers

Body

除了 GET 之外的 HTTP 动作都可以激活 Body 标签。Body 标签可以选择你想发送的信息的格式和发送方式,以及信息的内容。

Postman_Body

Respond (响应信息)

接下来我们通过例子里面的 GET 请求来对响应做详细说明,其他 HTTP 动作类似。

Body

在 Body 标签先可以看到响应体,即调用 API 所返回的数据。

Postman_respondBody

你通过请求所接收的响应可以通过 raw 和 pretty 两种形式查看,除非响应式 HTML 格式的。下面的两张图片是 Postman 查看响应的两种不同形式:

Pretty(格式化显示模式)

Postman_Pretty

Raw(自然的显示模式)

Postman_raw

Cookies

查看 Cookies 要另外安装一个插件并且要移动右上方的按钮。

Cookies 标签下能够查看调用 API 时的 Cookies。

Postman_respondCookies

Headers

Headers 标签可以看到响应的 Headers 信息。

Postman_respondHeaders

Comments

发表评论

电子邮件地址不会被公开。 必填项已用*标注