跳至主要內容

总结

dengmf...小于 1 分钟

怎么正确返回接口结果状态?

大部分项目接口返回都会 http 状态码为 200 ,但是这里是不推荐的。以 PayPal 为例,对于第三方支付来说 都是以返回不同的 http 状态码的。

PayPal官方返回码文档open in new window

为什么要用这种方式,这样不会很麻烦吗?

我以前也是喜欢 200 状态码进行一撸到底,然后再返回 status 进行区分接口是否成功请求。

{
  "status": 200,
  "msg": "success",
  "data": []
}

但是这种做法我发现了存在致命的结果,那就是你在做接口自动化测试的时候,大部分测试都是成功的,因为自动化测试基本上 只会判断状态码是否符合。这样子就造成了要加很多逻辑去搞测试。而且这种做法会让 nginx 日志里的状态码全部为 200, 如果想要做一个简单的接口成功率统计的话也要侵入业务。