REST API 开发人员的工具包

在开发自己的 REST API 或为第三方 API 编写集成程序时,您可能希望在开始编写代码之前对其进行测试。无论您是想使用浏览器,还是喜欢使用命令行,都有一些工具可以帮助您完成这项任务。

使用浏览器测试 API

实际上,有几种附加组件可以让您从浏览器执行 HTTP 请求,具体取决于您使用的浏览器。其中比较有名的有 Chrome 浏览器的高级静态客户端(Advanced Rest Client)和火狐浏览器的 RESTClient。说到底,所有这些客户端都允许你执行相同的 HTTP 请求,你可以指定 URL、方法、头文件、正文等。这些客户端还会显示你能从响应中想象到的所有细节,包括状态代码、所用时间和正文。下面的截图显示了一个使用 Chrome 浏览器高级 Rest 客户端的请求示例:

image 2023 11 04 12 25 53 751

如果您想用自己的 API 测试 GET 请求,而且您需要的只是 URL,也就是说,您不需要发送任何头信息,您可以像访问其他网站一样使用浏览器。如果您正在处理 JSON 响应,您可以在浏览器中安装另一个插件,它将帮助您以更 "美观" 的方式查看 JSON。在任何浏览器上查找 JSONView,就能找到一个非常方便的插件。

使用命令行测试 API

有些人觉得使用命令行更方便,因此幸运的是,有一些工具可以让他们在控制台中执行任何 HTTP 请求。我们将简要介绍最著名的工具之一:cURL。这个工具有很多功能,但我们将只关注你会经常用到的功能:HTTP 方法、发布参数和头部:

  • -X <method>:指定要使用的 HTTP 方法

  • ---data:添加指定的参数,参数可以键值对、JSON、纯文本等形式添加

  • ---header:为请求添加头信息

以下是使用 cURL 发送 POST 请求的方式示例:

curl -X POST --data "text=This is sparta!" \
> --header "Authorization: Bearer 8s8d7bf8asdbf8sbdf8bsa" \
> https://api.twitter.com/1.1/statuses/update.json
{"errors":[{"code":89,"message":"Invalid or expired token."}]}

如果您使用的是 Unix 系统,您可能可以通过添加 | python -m json.tool 来格式化生成的 JSON,使其更易于阅读:

$ curl -X POST --data "text=This is sparta!" \
> --header "Authorization: Bearer 8s8d7bf8asdbf8sbdf8bsa" \
> https://api.twitter.com/1.1/statuses/update.json \
> | python -m json.tool
{
    "errors": [
        {
            "code": 89,
            "message": "Invalid or expired token."
        }
    ]
}

cURL 是一款功能强大的工具,能让你玩出不少花样。如果你有兴趣,可以查看文档或教程,了解如何使用它的所有功能。