开发者社区> 问答> 正文

API 网关的返回值为空

API 网关的返回值为空

展开
收起
保持可爱mmm 2020-04-06 00:46:03 925 0
1 条回答
写回答
取消 提交回答
  • 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 头部信息的方法均可在网上查询到。

    2020-04-06 00:46:42
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Boot2.0实战Redis分布式缓存 立即下载
CUDA MATH API 立即下载
API PLAYBOOK 立即下载