关于api:这些调试API技巧你熟悉吗

42次阅读

共计 1581 个字符,预计需要花费 4 分钟才能阅读完成。

通常,咱们在调试第三方提供的 API 时,有时候并没那么顺畅,甚至可能自身就是 API 服务有问题,然而须要提供你论断的 ” 根据 ”。上面整顿了一些 API 调试技巧,也不便你甩锅

简略来说分为以下两点

  • 检测状态信息
  • 检测返回数据

接下来用接口管理工具 Apifox 来演示如何使用接口可视化工具来定位接口问题

1 检测接口状态码

当咱们对某个 API 发动申请时,API 所在的服务器会返回一个 HTTP 状态码,通过这个状态码咱们能够理解到 API 申请的状态。常见的状态码 比方:401 代表不具备拜访权限; 500 代表服务器出错

通过状态码来检测接口是否失常调用,这也是调试接口的第一因素。

上面是一些罕用的接口状态码报错

  • 400 示意申请参数谬误,咱们能够查找是否存在语法错误,如输出谬误或畸形的 JSON 注释。
  • 401 示意未经受权,咱们须要的确是否有拜访对应指标资源的无效认证凭证,同时确认没有语法问题。
  • 403 示意服务器拒绝请求,此时能够查看咱们具备的权限和范畴,以确保能被受权拜访资源。
  • 418 示意我就是个杯具(I ‘m a Teapot),可能示意申请是提供者不想解决的申请,例如主动查问。
  • 429 示意太多的申请,此时咱们能够查看文档,以便理解应用频率限度或着稍后再试。

这里以 Apifox 接口管理工具调试为例,反对的校验响应,能够主动校验接口响应状态码是否合乎咱们的预期

2 进阶调试剖析

这里分享几个常见的申请 API 场景,也是你可能会掉入的坑:

畸形的 JSON

当你在发送 JSON 时会犯一些常见的谬误。在 JSON 字符串中,单引号有效,因而请确保将字符串和属性名用双引号括起来。此外,JSON 不反对正文,所以要么尽量简化,要么基本不增加它们。

Content type 头

Content- type 和 Accept 头有助于在客户端和服务器之间进行内容协商。Content-type 申请头通知服务器,客户端发送的信息类型。而 Accept 申请头通知服务器,客户机能够了解什么类型的内容。一些 API 须要特定的申请头,并且只解决特定的内容类型。

比方: 依据 Accept header 返回对应格局图片

上面是以 Apifox 官网推出的 Apifox Echo 中的一个例子作为演示

Apifox Echo 是 Apifox 官网提供的 简略的接口申请和返回数据服务

在线调试连贯:https://www.apifox.cn/apidoc/…

序列化数据

REST API 常见的以 JSON 的模式存储和发送数据。而为了保障正确传输数据,咱们能够应用 JSON.stringify()对数据进行编码,及 JSON.parse()对其进行解码。此外,服务器可能要求您设置一个 application/json 类型的 Content-Type 头。进一步查看后,如果你看到返回值呈现像 [object object] 或 Unexpected token,表明咱们非法的进行了序列化和反序列化。

类型转换

在筹备发送申请或解析响应时,能够将值从一种类型转换为另一种类型。依据编程语言的不同,对字符串执行数学计算可能会导致失败,但当咱们将字符串转换为数字时,就能够解决转换后的数据了。

比方:咱们调试的接口响应返回的是 base64 格局,这时候咱们想解析这个数据的原数数据,咱们能够在 Apifox 的后置操作中增加脚本,通过定义脚本对数据进行转换

如下所示

提取信息

应用 JSON.parse()反序列化 JSON 响应后,就能够应用点或括号符号拜访所有信息。如果您试图拜访一个简单构造中的深层嵌套信息,您可能须要一步一步地将其合成,以准确地援用该信息,并确保您不会试图应用到一些未定义的货色中。

身份验证与受权

身份验证是指验证用户的身份,而受权则确认用户领有拜访资源的权限。如果申请中蕴含了适当的受权头,但依然不能拜访资源,请仔细检查与凭据相干的权限和作用域。

文章参考:
https://stackoverflow.blog/20…

正文完
 0