Oat++响应方法readBodyToD到示例



是否有人使用objectMapper使用方法readBodyToDto解析oatpp::web::client::RequestExecutiir::Response的主体。我正在构建一个REST API客户端,但我还无法将返回的对象映射到我的dto中。这是我正在努力处理的一段代码:

void GoRestApi::getUser(const std::shared_ptr<GoRestApiClient>& client)
{
auto response = client->doGetUser(2600);
oatpp::String contentType = response->getHeader("Content-Type");
// auto userDto = response->readBodyToDto<oatpp::Object<UserDto>>(objectMapper);
auto data = response->readBodyToString();
OATPP_LOGD(TAG, "[doGetUser] data='%s'", data->c_str());
}

我评论了一行,我甚至无法编译。如果你有一些代码片段可以分享,我会很乐意的。非常感谢。

这对我来说很好

auto objectMapper = oatpp::parser::json::mapping::ObjectMapper::createShared();
auto dtmResponseDTO = response->readBodyToDto<oatpp::Object<DtmResponseDTO>>(objectMapper);

您可能应该导入或初始化objectMapper进行编译。我在反序列化时也遇到了另一个问题,当它在readBodyToDto 上似乎被阻止时

我还尝试过readFromString

auto objectMapper = oatpp::parser::json::mapping::ObjectMapper::createShared();
auto reponseIdDto = objectMapper->readFromString<oatpp::Object<ReponseIdDto>>(response->readBodyToString());