Insomnia API如何使用 Insomnia 测试 API 端点
所以你正在开发一个会发出各种 HTTP 请求的应用,是吗?你知道如何调用 API,无论你是使用库还是传统的 API 调用方式.fetch()。但是,如果没有能力测试你的接口,你肯定会遇到一些问题。测试接口可以节省时间,防止潜在的错误(以及很多压力!),并让你更好地了解你的 API。
本文将以 Insomnia 为例进行演示。当然,还有更多选择(例如 Postman)。您可以尝试不同的平台,看看哪个最适合您。😄
步骤 1:安装 Insomnia
前往Insomnia 官方网站,将其安装到您的电脑上。网站上会有安装说明。
步骤二:查看 API 文档
希望你的 API 有完善的文档来指导你完成这个过程。没有什么比一份优秀的文档更重要的了。仔细阅读文档,弄清楚每次请求需要哪些信息。基本 URL 是什么?是否需要任何参数或标头?是否需要请求体?如果需要,请求体是否为 JSON 格式?等等。
熟悉 API 的功能后,就可以打开 Insomnia 了。
步骤 3:使用 Insomnia 发出你的第一个 HTTP GET 请求
应用打开后,你会看到一个几乎空白的工作区。要开始提交请求,请点击加号图标,这将弹出一个下拉菜单,你可以选择提交新请求或创建新文件夹。我们来创建一个专门用于我们项目的文件夹。
文件夹名称随意。我通常使用项目名称。或者,如果项目很大,你也可以使用整个工作区,并在其中创建多个文件夹……组织方式完全取决于你。
我将使用我构建的一个 API 来演示如何发出涵盖所有 CRUD 功能的 HTTP 请求。请求体应为 JSON 格式,除了注册和登录之外,其他路由都需要一个 Authorization 标头,其值为 JWT(JSON Web Token)。如果您感兴趣,可以在这里找到文档。这个项目名为 Trip Split,所以我将以此命名我的文件夹。
现在文件夹已经创建好了,我们可以发出第一个请求了。点击文件夹名称旁边的向下箭头,即可查看选项列表。目前,我们想要发出一个新请求。
我喜欢运行一次“健全性检查”,看看服务器是否正常运行。我会用这个作为请求的标题,然后点击“创建”。你的失眠症应用现在应该看起来像这样:
您可以在顶部栏中看到,有用于选择要发出的请求类型的区域、用于输入 URL/端点的输入框以及“发送”按钮。
我想发起一个 GET 请求,所以我会选择它。然后我会在输入框中输入基本 URL 和端点(如下图中绿色圆圈所示)。这个请求不会包含请求体、请求头或其他任何内容,所以我可以直接点击“发送”按钮。
太棒了,恭喜成功!您可以查看请求的状态(这里是 200,表示请求成功)、完成时间、请求提交时间(下拉菜单中可以查看/选择所有提交的请求),以及响应(响应本身有很多选项。这里我就不一一解释了,请自行探索并查看有哪些不同的选项/信息)。
好了,我们已经发出了第一个请求!现在我们已经发出了一个 GET 请求……
步骤 4:发出 POST 请求
我现在想尝试登录。文档说我需要在请求正文中提供用户名和密码才能登录。我会使用我知道正确且存储在此 API 数据库中的凭据。
创建一个新请求(我将其命名为“登录”)。在这里,我想选择 POST 作为请求类型,JSON 作为请求体格式。
点击“创建”后,您需要完成请求的其余部分。对于登录请求,我需要添加 URL/端点和请求正文。填写完所有必填字段后,即可点击“发送”。
太棒了!!又一次请求成功发出。左侧是发送的请求体,右侧是响应(或者您可以选择上下分屏查看)。这个响应包含一个非常重要的信息:我们的 JWT。登录后,所有端点的请求都必须包含一个带有此 JWT 的 Authorization 标头。接下来我们看看如何创建一个这样的标头。
步骤 5:发出需要标头的请求
我们再发起一个 POST 请求来创建一些数据。这次,我们需要使用 JWT 来访问端点。点击“创建新请求”,选择正确的类型和格式。然后,填写请求 URL/端点和请求体(确保包含所有必填字段)。完成后,点击“请求头”选项卡。我想创建一个名为“Authorization”的请求头,并将我从登录请求中收到的 JWT 粘贴进去。完成后,点击“发送”。
是的,成功的请求永远不会让人厌倦。💚
同样,您可以看到左侧的请求正文、右侧的响应以及顶部的信息栏。明白了吗?太棒了!
既然你已经对 Insomnia 比较熟悉了,我将快速向你展示如何发出 PUT 和 DELETE 请求。
步骤 6:发出 PUT 请求
你懂的。发出请求,选择正确的选项,填写请求体、请求头等信息,然后发送。对于 PUT 请求,请求体中应包含你要更新的属性。
步骤 7:发出删除请求
发出请求,选择选项,等等。明白了吗?很好。使用 DELETE 请求时,不需要请求体。我的 API 只需要 Authorization 标头,并在 endpoint 参数中包含要删除的项目的 id(例如,我的 URL 最终看起来像这样“ https://tripsplit-backend.herokuapp.com/api/trips/7 ”,其中 7 是 id)。
好了,就是这样。如何使用 Insomnia 测试端点并发出 HTTP 请求。
感谢您抽出时间阅读这篇文章,希望它对您有所帮助。❤️
文章来源:https://dev.to/kmcknight91/how-to-use-insomnia-to-test-api-endpoints-1lad










