C ++使用Casablanca和POST XML的API REST

时间:2018-01-22 11:11:53

标签: c++ xml rest casablanca

问题是如何使用需要在body类型XML和headers参数上POST内容的API REST。我发现只有JSON的解决方案。

return pplx::create_task([]
{
    json::value postData;

    postData[L"name"] = json::value::string(L"Joe Smith");
    postData[L"hobby"] = json::value::string(L"Baseball");

    http_client client(L"http://localhost:5540/api/values");
    return client.request(methods::POST, L"",
        postData.to_string().c_str(), L"application/xml");
}).then([](http_response response)
{
    if (response.status_code() == status_codes::OK)
    {
        auto body = response.extract_string();
        std::wcout << L"Added new Id: " << body.get().c_str() << std::endl;

        return std::stoi(body.get().c_str());
    }

    return 0;
});

谢谢大家!

1 个答案:

答案 0 :(得分:0)

我改变了库。使用libcurl没有问题,而且更容易。