You need to enable JavaScript to run this app.
导航

获取 SDK 响应

最近更新时间2023.11.13 16:31:39

首次发布时间2023.07.25 15:10:13

TLS C++ SDK 为实现的各个接口提供统一风格的响应封装。本文档介绍获取 SDK 各种响应信息的方式。

获取请求响应字段

您可以通过 response.fieldName 的方式来获取 API 参考 中描述的各 API 的返回字段。示例代码如下:

......
auto response = client.DescribeProjects(request);
printf("%d\n", response.total);
......

获取 HTTP 状态码

您可以通过 response.http_status_code 来获取请求的响应码。示例代码如下:

......
auto response = client.DescribeProjects(request);
printf("%d\n", response.http_status_code);
......

获取错误信息

如果响应码不为 200,您可以通过 response.error_coderesponse.error_message 来获取日志服务服务端返回的错误码和错误说明信息,帮助您排查问题。如下所示:

......
auto response = client.DescribeProjects(request);
printf("error_code: %s error_message: %s\n", response.error_code.c_str(), response.error_message.c_str());
......

获取请求 RequestId

如果您在调用日志服务 API 的过程中遇到困难,需要人工服务帮助,您可以通过 response.request_id 记录下异常请求的 requestId 号并提供给技术支持,以获得更快的问题响应和解决速度。示例代码如下:

......
auto response = client.DescribeProjects(request);
printf("request_id: %s\n", response.request_id.c_str());
......

将请求响应序列化为 JSON 字符串

TLS C++ SDK 的 Response 对象实现了 GitHub - nlohmann/json: JSON for Modern C++ 库的序列化与反序列化,
您可以直接将响应序列化来直观地查看请求响应情况。示例代码如下:

#include <ve-tls-cpp-sdk/thirdparty/nlohmann/json.hpp>

......
auto response = client.DescribeProjects(request);
nlohmann::json j = response;
printf("response: %s", j.dump().c_str());
......