HTTP/HTTPS 请求的返回结果有 HttpCode、Header、Body 三部分。当请求报错时,由于没有进入业务逻辑,所以返回的 Body 可能为空,表现为“返回值为空”,但实际上,重要信息都在 Header 里面。
用户发起的 API 请求只要能够到达网关,就会返回成功/错误的结果信息。
重要的返回信息都在Header里面,以X-Ca开头的为网关返回的信息。其中较主要的为下面的几个信息:
X-Ca-Request-Id: 7AD052CB-EE8B-4DFD-BBAF-EFB340E0A5AF //请求唯一ID,请求一旦进入API网关应用后,API网关就会生成请求ID并通过响应头返回给客户端,建议客户端与后端服务都记录此请求ID,可用于问题排查与跟踪 X-Ca-Error-Message: Invalid Url //API网关返回的错误消息,当请求出现错误时API网关会通过响应头将错误消息返回给客户端 X-Ca-Debug-Info: {"ServiceLatency":0,"TotalLatency":2} //当打开Debug模式后会返回Debug信息,此信息后期可能会有变更,仅用做联调阶段参考
所以如果发送请求后,发现返回值为空,那么看一下返回的 Header 信息。如果请求到达网关就错误返回了,那么 Body 为空很正常,会表现为返回值为空,但是在 Header 里面会有重要信息。
如果Header也为空,那么说明请求没有达到网关,请自行检查网络状况等。
各种语言获取和查看 HTTP/HTTPS 头部信息的方法均可在网上查询到。