0

https://api.gm-system.net/api/authenticate/searchStaffs/searchTextリストスタッフを返すAPIがあります。

cpprestsdkそして、これがC ++を使用してこのAPIにアクセスするための私のコードです。

auto fileStream = std::make_shared<ostream>();

    // Open stream to output file.
    pplx::task<void> requestTask = fstream::open_ostream(U("results.html")).then([=](ostream outFile)
    {
        *fileStream = outFile;

        // Create http_client to send the request.
        http_client client(U("https://api.gm-system.net/api/authenticate/searchStaffs/michael"));


        return client.request(methods::GET);
    })

        // Handle response headers arriving.
        .then([=](http_response response)
    {
       ......
    }

よろしければこちら。しかし、それで私は手動で"michael" searchText.

このような searchText を受け入れるようにするにはどうすればよいですか。

void MyTest(std::string searchText)
{
..... code here

// Create http_client to send the request.
http_client client(U("https://api.gm-system.net/api/authenticate/searchStaffs/" + searchText));

return client.request(methods::GET);

..... code here
}

私はすでにこれを試しましたが、うまくいきません。'U' マクロに問題があります。https://github.com/Microsoft/cpprestsdk/wiki/FAQからの説明U macroは次のとおりです。

The 'U' macro can be used to create a string literal of the platform type. If you are using a library causing conflicts with the 'U' macro, for example Boost.Iostreams it can be turned off by defining the macro '_TURN_OFF_PLATFORM_STRING' before including the C++ REST SDK header files.

カーソルを に合わせるとU、次のエラーが表示されます。

no operator "+" matches these operands operand types are; const wchar_t[57] + const std::string

誰かが私を助けてくれることを願っています。ありがとう。

4

1 に答える 1