RESTful API 简介

2025-05-28

RESTful API 简介

你知道什么是 API 吗?如何测试它?测试时可以做哪些测试?有哪些工具可以帮助你测试?如何将其融入到你的开发流程中?所以,为了帮助你,我亲爱的徒弟,我创建了这个系列:深入 API 测试。
基本上,这将是一系列与 API 测试(RESTful)相关的文章,每周发布。在这几周里,我们将讨论和学习以下内容:

  • 什么是 API
  • 我们可以在 RESTful API 中进行哪些类型的测试
  • 可用于测试的工具(Postman)
  • 如何使用知名框架来自动化我们的测试,例如 Cypress、Rest Assured、Python
  • 如何在管道中运行此测试并获得结果

从本周开始,我们将讨论帮助我们完成这一旅程的主要概念,例如:

什么是 API

应用程序编程接口 (API) 定义了与其他软件系统通信时必须遵循的规则。开发人员公开或创建 API,以便其他应用程序能够以编程方式与其应用程序通信。例如,时间表应用程序公开了一个 API,用于请求员工的全名和日期范围。收到此信息后,它会在内部处理员工的时间表,并返回该日期范围内的工作小时数。

简而言之,我们可以说 Web API 是管理用户界面和服务器之间通信的网关。

基本架构

什么是 REST

表述性状态转移 (REST) 是一种对 API 工作方式施加条件的软件架构。REST 最初是作为管理互联网等复杂网络上通信的指南而创建的。

REST架构风格的原则:

  • 统一接口
  • 无国籍
  • 分层系统
  • 按需编码

RESTful API 的优势在于:可扩展性、灵活性和独立性。您可以点击此处了解更多信息。

常见的 HTTP 方法

HTTP(超文本传输​​协议)方法告诉服务器需要对资源执行什么操作。以下是常见的 HTTP 方法:

  • GET:此方法从数据库获取数据,也可以在发送之前传递参数来过滤数据。
  • POST:此方法将数据发送到服务器并在数据库中创建该数据。
  • PUT 和 PATCH:这两种方法都会更新数据库中的数据。PUT 和 PATCH 的主要区别在于,PUT 方法可以创建新数据(如果数据不存在);而 PATCH 方法只能更新现有数据。
  • DELETE:从数据库中删除数据。

为什么要测试 API

API 如何管理 UI 和服务器之间的通信?确保 API 正常运行,在软件开发中至关重要。
如果 API 出现错误的状态码或响应,最终用户肯定会受到影响。这是 API 无法按预期运行时可能出现的问题之一,在最坏的情况下,敏感数据可能会被泄露。

测试类型

了解了测试 API 的重要性后,让我们看看最常见的 API 测试类型:

  • 集成测试:这种类型的测试是为了确保 API 正常工作,并验证与数据库或其他外部服务的集成是否按预期工作。
  • 功能测试:在此测试中,我们确保 API 功能符合记录的规范和要求。
  • 回归测试:确保最近的代码更改没有破坏现有的 API 功能。
  • 安全测试:识别并解决安全漏洞,确保 API 免受常见威胁。测试 SQL 注入、跨站脚本 (XSS)、身份验证缺陷以及不当数据处理等问题。
  • 性能测试:我们测试 API 在处理大量请求时的行为。通过此测试,我们可以验证 API 在负载达到预期、超出预期时如何响应,以及 API 在长时间调用时的持久性。
  • 压力测试:压力测试的目标是测量软件在极重负载条件下的稳健性和错误处理能力,并确保软件在紧要关头不会崩溃。
  • 负载测试:评估 API 在高负载下的性能,以识别瓶颈并优化其可扩展性。

API 测试中使用的工具和框架

一些可用于测试 API 的工具和框架:

本文简要介绍了 RestFul API,我们将在接下来的几周内深入探讨更多细节。希望本文对您有所帮助,如有任何疑问,欢迎随时联系我! 

Bisous,a la semaine prochain 💅🏼

文章来源:https://dev.to/m4rri4nne/deep-dive-into-api-testing-an-introduction-to-restful-apis-62o
PREV
我的 VSCode 快捷方式、设置和扩展,助您提升效率。祝您拥有美好的一天😃!
NEXT
⚡️⛓JavaScript 可视化:作用域(链)NEAT 讨论