TLS C++ SDK 为实现的各个接口提供统一风格的响应封装。本文档介绍获取 SDK 各种响应信息的方式。
您可以通过 response.fieldName
的方式来获取 API 参考 中描述的各 API 的返回字段。示例代码如下:
...... auto response = client.DescribeProjects(request); printf("%d\n", response.total); ......
您可以通过 response.http_status_code
来获取请求的响应码。示例代码如下:
...... auto response = client.DescribeProjects(request); printf("%d\n", response.http_status_code); ......
如果响应码不为 200,您可以通过 response.error_code
和 response.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()); ......
如果您在调用日志服务 API 的过程中遇到困难,需要人工服务帮助,您可以通过 response.request_id
记录下异常请求的 requestId
号并提供给技术支持,以获得更快的问题响应和解决速度。示例代码如下:
...... auto response = client.DescribeProjects(request); printf("request_id: %s\n", response.request_id.c_str()); ......
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()); ......