Postman:简化API开发和测试的强大工具
要点:
感谢Jeff Smith的帮助,他热心参与了本文的同行评审。
SitePoint网站今日热门文章:
API(应用程序编程接口)是应用程序之间交互的媒介。使用HTTP或HTTPS的API称为Web API。
如果您环顾互联网,就会发现大量服务使用API。任何具有社交登录的服务都使用API;电子商务网站的移动应用程序使用API;甚至您在互联网上看到的广告也使用API!
通过为您的服务创建API,您可以使第三方开发人员能够基于您的服务创建应用程序。例如,社交新闻网站Frrole使用Twitter API通过分析大量推文来生成上下文洞察。
假设您已经评估了创建API的优缺点,那么让我们简要讨论一下创建和测试API的过程。
虽然创建API的方法有很多,但Web API是使用REST(表述性状态转移)框架创建的。REST框架规定了一组在创建API时必须遵循的准则。由于每天创建的API数量众多,它成为基于Web的API的标准。
通过API执行的四个最常见的操作是查看、创建、编辑和删除对象。REST框架将四个HTTP动词映射到这些操作:GET、POST、PUT和DELETE。此列表中添加了许多动词,例如PURGE和PATCH,但在本文中,我们将只讨论四个基本动词。Enchant.com创始人Vinay Sahni撰写的关于务实RESTful API最佳实践的文章可能对首次开发人员很有用。
如今,许多框架都提供了对基本HTTP层的包装器,从而使您的开发工作更加轻松。您只需调用所需的命令或函数并专注于功能即可。流行的示例包括Slim和Toro,这两个基于PHP的微型框架可以帮助您快速创建REST API。
创建API的主要目的是使其他应用程序(可能是您自己的或由第三方开发的)能够使用这些服务。因此,在API开发过程的每个阶段,至关重要的一步是测试API的功能、异常处理和安全性。
使用API涉及使用其中一个动词(或方法)向所需资源(通常是URL)发出请求。根据您使用的API的要求,您可能需要添加标头。请求此类资源的一种方法是通过命令行。
在这篇文章中,我们将重点关注API调用的四个部分——URL、HTTP动词、标头和参数。我们将使用cURL库通过CLI向API资源发送请求。cURL是一个命令行工具,它有助于使用URL语法传输数据——支持FTP、FTPS、HTTP、HTTPS。
让我们来看一下以下命令:
<code>curl -i -X POST -H "Content-Type:application/json" http://www.my-api-example.com:port/ -d '{"Name":"Something"}'</code>
-i命令代表include,它告诉命令请求中存在标头。-X选项紧跟HTTP动词或方法。-H指定添加到请求的自定义标头。最后,-d选项指定要与请求一起传递的自定义表单数据。
API调用的结果是HTTP响应,通常以JSON格式编码。响应与HTTP响应代码一起提供,该代码提供有关请求状态的信息(例如,200表示OK,404表示资源不存在,500表示服务器错误,403表示资源被禁止)。例如,以下响应可以作为对先前请求的结果发送,以及200状态代码:
<code>{"message":"success","id":"4"}</code>
在命令行内测试此类响应也构成挑战,尤其是在响应具有大量选项的情况下。
Codingpedia的这篇详细指南列出了测试API时的CLI选项列表。
Postman是一个具有强大功能的API开发套件,可以使API开发过程快速而轻松。它可以作为Chrome扩展程序和Mac、Windows和Linux的原生应用程序使用。一百多万开发人员已经尝试过它。要安装Chrome扩展程序,您需要首先安装Chrome,然后转到Chrome网上应用店的项目页面。
让我们首先了解如何通过Postman模拟我们之前的CLI请求。以下图像显示了在Postman中创建API调用,其中包含上面讨论的所有四个部分:
除了预览(如果响应为HTML)之外,您通过请求收到的响应也可以以原始或漂亮的形式查看。下图显示了在Postman中查看响应的不同方法:
Postman会自动保存您过去进行的API调用,这在测试API时可以节省时间。此外,它们可以分组到相关的API调用中,以方便您使用。以下是通过Postman进行的API调用历史记录示例:
演示Postman工作原理的一个好方法是通过Facebook Graph API。在这篇文章中,我们将重点关注用户时间轴上的帖子,如何查看帖子的详细信息,以及如何创建和删除帖子。
在使用Graph API时,访问令牌至关重要。令牌与许多权限相关联。例如,只有在生成令牌时publish_actions是所选字段之一时,您才能使用令牌创建帖子。这种额外的安全级别可以帮助您在通过Facebook登录时向给定应用程序授予特定操作。
要向Graph API发送请求,您需要生成访问令牌。生成令牌后,您应向以下URL发送GET请求,并将access_token作为参数:
<code>curl -i -X POST -H "Content-Type:application/json" http://www.my-api-example.com:port/ -d '{"Name":"Something"}'</code>
下图显示了带有您详细信息的基本Graph API调用:
您可以通过以下命令检查您时间轴上的帖子列表:
<code>{"message":"success","id":"4"}</code>
以下是您时间轴上的帖子列表的详细信息可能显示的方式:
要查看单个帖子的详细信息,请使用以下资源:
<code>GET /me/</code>
单个帖子的详细信息如下所示:
要点赞,只需向以下URL发送POST请求(请注意,点赞需要publish_actions):
<code>GET /me/feed/</code>
通过Postman发送点赞请求如下所示:
同样,您可以通过向同一URL发送DELETE请求来删除点赞:
<code>GET /post-id/</code>
要创建帖子,您需要除了POST请求之外还要发送一些参数。您也需要publish_actions才能执行此操作。
您可以将以下选项添加到您的POST请求中:
文档解释了所有这些功能的使用方法。
您可以根据您选择发送请求的URL,在您自己的时间轴或用户、页面、事件或群组的时间轴上创建帖子:
<code>curl -i -X POST -H "Content-Type:application/json" http://www.my-api-example.com:port/ -d '{"Name":"Something"}'</code>
让我们尝试发布到我们自己的时间轴。如果请求成功,我们将获得已创建帖子的ID。以下是使用Graph API创建新帖子的示例:
要编辑帖子,您需要向以下URL发送POST请求(而不是PUT),并使用与创建帖子相同的参数:
<code>{"message":"success","id":"4"}</code>
就像删除点赞一样,删除帖子需要您向帖子URL发送DELETE请求:
<code>GET /me/</code>
注意:我们在本文中看到Postman有很多有用的功能。升级免费版本后(单个许可证9.99美元),还有更多功能——例如在多个数据值上运行API集合。
创建API是一项至关重要的任务,其中涉及许多重要的步骤。Postman使彻底测试的过程更加容易。目前,Postman似乎很好地解决了普通开发人员的问题。但是,它如何随着Web行业中常见的范式转变而发展还有待观察。
我们是否错过了Postman的重要功能?您是否使用其他客户端来测试API?请在下面的评论中告诉我们。
Postman是开发人员用于构建和测试API的流行工具。它提供了一个用户友好的界面,可以轻松发送HTTP请求和查看响应。Postman支持各种类型的HTTP请求,例如GET、POST、DELETE、PUT等等。它还允许您保存请求并将它们组织到集合中,以便轻松访问和共享。Postman内置的测试功能允许您直接在工具本身中为您的API编写测试,使其成为API开发的综合解决方案。
Postman提供免费版和付费版。免费版本,称为Postman Basic,提供了一套强大的功能,足以满足个人开发人员或小型团队的需求。对于需要高级功能和协作能力的大型团队或企业,Postman提供付费计划。
Postman Pro是一个付费版本,提供基本版本中没有的附加功能。这些包括团队协作、API监控、高级API文档等等。它专为需要管理复杂API开发项目的专业开发人员和团队而设计。
您可以从他们的官方网站购买Postman。他们根据您的团队规模和特定需求提供不同的定价计划。您可以选择适合您需求的计划,然后按照提示完成购买。
在软件开发中,Postman在API开发和测试中发挥着至关重要的作用。它允许开发人员在一个平台上构建、测试和记录API,从而简化开发过程。它还支持协作,使团队更容易一起处理API项目。
是的,Postman支持自动化测试。您可以在Postman中为您的API编写测试,并使用Postman的Collection Runner或Newman(Postman的命令行工具)自动运行它们。这使得将API测试集成到您的持续集成/持续交付(CI/CD)管道中变得更容易。
Postman允许您将API请求组织到集合中。集合是一组可以一起保存的相关请求。这使得管理和共享您的请求变得更容易。您还可以向集合中添加文件夹以进行进一步的组织。
是的,Postman支持各种身份验证类型,包括Basic Auth、Bearer Token、OAuth 1.0、OAuth 2.0等等。这使其成为测试具有不同身份验证要求的API的多功能工具。
是的,Postman允许您与他人共享您的集合。这对于团队协作特别有用。如果您使用的是付费版本,则可以通过将其导出为JSON文件或直接从Postman共享来共享集合。
有很多资源可以学习Postman。Postman官方网站提供全面的文档和教程。还有许多在线课程、博客和论坛,您可以在其中学习其他Postman用户的经验。
以上是API建筑和测试使Postman变得更加容易的详细内容。更多信息请关注PHP中文网其他相关文章!