REST API 测试工具
REST API 测试工具。
请求
响应
| 状态 | {{ status }} |
|---|---|
| 请求头 | {{ hkey }}: {{ hval }} |
* 除非 API 添加了 'Access-Control-Allow-Origin': * 响应头,否则无法获取数据。如使用 Chrome,可考虑安装相关扩展程序。
https://chromewebstore.google.com/detail/cors-unblock/lfhmikememgdcahcdlaciloancbhjino
REST API 测试工具是什么
REST API 测试工具是可在浏览器上指定 HTTP 方法(GET、POST、PUT、DELETE 等)向 API 端点发送请求,并当场确认状态码、回应标头与回应主体的工具。无须安装 Postman 这类桌面应用程序或命令列用的 cURL,只用浏览器即可进行 API 的行为验证。
可用于 API 开发中的行为确认,或想试着呼叫公开 API 以掌握其回应格式时。不过因为是由浏览器直接送出请求的机制,若目标 API 未允许 CORS(Access-Control-Allow-Origin 标头),便无法接收回应,这点请留意。
REST API 测试工具的使用方法
- 选择 HTTP 方法 从 GET、POST、PUT、PATCH、DELETE 等中,选择对应您想执行操作的方法。
- 输入端点 URL 输入请求目标 API 的 URL。请指定以 https 开头的完整 URL。
- 视需要设定标头与主体 输入认证权杖或 Content-Type 等标头,以及以 POST/PUT 送出的 JSON 主体。
- 送出并确认回应 状态码、回应标头与主体会当场显示。
用好本工具的小技巧
- 受 CORS 限制,无法直接请求没有
Access-Control-Allow-Origin响应头的 API。请使用公开 API 或已允许 CORS 的 API。 - 在请求头中设置
Content-Type: application/json可发送 JSON 请求体。 - HTTP 状态码速查:2xx=成功,4xx=客户端错误(401=未授权,404=未找到),5xx=服务器错误。
- 需要 Bearer Token 认证的 API,请在请求头中添加
Authorization: Bearer {token}。
REST API 测试工具的实用场景
开发中 API 的行为确认
可在实作的同时,立即确认自行开发的後端 API 是否回传预期的回应。
公开 API 回应格式的调查
在阅读外部服务的 API 文件之前,可实际送出请求以确认回应的 JSON 结构。
认证标头的行为确认
可测试附上 Bearer 权杖或 API 金钥的请求是否能正确通过认证。
错误回应内容的确认
可刻意以不正确的参数送出请求,确认 API 会回传怎样的错误讯息与状态码。
术语解释
- REST
- Representational State Transfer 的缩写。是以 HTTP 方法与 URL 操作资源的 Web API 设计风格。
- CORS
- Cross-Origin Resource Sharing 的缩写。是浏览器限制向不同来源(网域)发送请求的机制,除非 API 服务器回传允许标头,否则无法读取回应。
- 端点(Endpoint)
- 指 API 接受请求的 URL。例如「/api/users」,用以指示操作对象的资源。
- HTTP 方法
- 指示请求种类的识别字。包含 GET(取得)、POST(建立)、PUT(更新)、DELETE(删除)等。
- Bearer 权杖
- API 认证常用的权杖格式。以「Authorization: Bearer {token}」的形式附加于请求标头。
常见问题
Access-Control-Allow-Origin 响应头,浏览器会拦截该请求。请使用公开 API 或已允许 CORS 的 API,或安装 CORS Unblock 等浏览器扩展程序。Content-Type: application/json,并在请求体输入框中填写合法的 JSON 字符串后发送即可。Authorization: Bearer {your_token},将 {your_token} 替换为您的实际令牌字符串后发送。
闲话 ― REST 的诞生:Roy Fielding 的博士论文如何改变了 Web 开发
REST 由 Roy Fielding 于 2000 年在其博士论文「Architectural Styles and the Design of Network-based Software Architectures」中提出。Fielding 是 HTTP/1.1 规范的主要共同作者之一,REST 概念正是他在梳理 HTTP 设计思想的过程中诞生的。
Twitter 在 2010 年前后从 SOAP 迁移至 REST API 并向开发者开放,推动了 REST 的爆炸式普及。如今,Stripe、GitHub、Slack、OpenAI(ChatGPT)等众多知名服务均提供 REST API,共同构成了所谓的"API 经济"。
REST API 设计中原本包含"超媒体作为应用状态引擎(HATEOAS)"这一约束,但严格实现它的服务寥寥无几。"是否真正符合 REST"的争论在 Web 开发社区周期性掀起热潮,"RESTful"的定义至今仍有争议。