RESTfulプログラミングから始め、Casablanca sdk(https://github.com/Microsoft/cpprestsdk)を使用してC++でプログラムを作成しようとしています。私はデータ転送などを行うためにGET、POST、PUT、DELメソッドを使う必要があることを知っています。しかし、これを行う方法の例を見つけることはできません。私は現在、クライアントからサーバーに整数値を送信し、サーバーからブール値の応答を取得する必要があります。私はカサブランカのドキュメンテーションやウェブで良い例を見つけることができません。この簡単な転送を行う方法に関する助けをいただければ幸いです。casablancaを使用して受信を受信するC++ rest sdk
0
A
答えて
2
documentationとインターネット上のさまざまな例を調べるのに多くの時間を費やすと、おそらく答えが得られました。
基本的に、特定のURLでクライアントの要求を聞くサーバーとして、httpリスナーを設定する必要があります。
クライアントは、そのURL上のデータを送信して、そのURLと通信できます。
あなたはJSON形式でデータを交換する場合にもかかわらず、
サーバーは、クライアントは次のようになり、この
void handle_post(http_request request)
{
json::value temp;
request.extract_json() //extracts the request content into a json
.then([&temp](pplx::task<json::value> task)
{
temp = task.get();
})
.wait();
//do whatever you want with 'temp' here
request.reply(status_codes::OK, temp); //send the reply as a json.
}
int main()
{
http_listener listener(L"http://localhost/restdemo"); //define a listener on this url.
listener.support(methods::POST, handle_post); //'handle_post' is the function this listener will go to when it receives a POST request.
try
{
listener
.open() //start listening
.then([&listener](){TRACE(L"\nstarting to listen\n");})
.wait();
while (true);
}
catch (exception const & e)
{
wcout << e.what() << endl;
}
}
ようになり、
int main()
{
json::value client_temp;
http_client client(L"http://localhost");
//insert data into the json e.g : json::value(54)
client.request(methods::POST, L"/restdemo", object)
.then([](http_response response)
{
if (response.status_code() == status_codes::OK)
{
return response.extract_json();
}
return pplx::task_from_result(json::value());
})
.then([&client_temp ](pplx::task<json::value> previousTask)
{
client_temp = previousTask.get();
})
.wait();
}
あなたのサーバー返信は 'client_temp'に保存されます
関連する問題
- 1. C++ Rest SDK Casablanca Sigtrap
- 2. Casablanca REST SDK C++リスナー
- 3. Xamarin Forms androidブロードキャストレシーバを使用して受信テキストメッセージを受信
- 4. 封筒を受信者に並列に送信する(REST/C#SDK)
- 5. C++ REST SDK( "Casablanca")のURIエンコーディング
- 6. C#でGmail受信トレイを受信
- 7. REST APIを使用してWebサービスからデータを受信
- 8. FirefoxアドオンSDKのリクエストモジュールを使用してバイナリデータを受信
- 9. ソケットを複数回使用してTCPを送信して受信する(C#)
- 10. Google API access_tokenを使用して受信トレイのメールを受信しますか?
- 11. KeychainItemWrapper iPhone SDKを使用中にSIGABRTを受信しました
- 12. マルチパートFormDataを受信する - ジャージー1.19.1 REST
- 13. C#を使用してFacebookの受信トレイにメッセージを送信するには?
- 14. C#でHTTP Post JSONを受信して使用するasp.net
- 15. スパークストリーミングRESTカスタム受信機
- 16. SOAPを受信して送信する
- 17. C#ソケットはデータを受信して再び送受信します
- 18. C#UDPブロードキャストして受信する例
- 19. CのOpenSSLを使用してhttp応答メッセージを受信
- 20. C++ OpenMPIを使用してマスタ/スレーブプロセス間でリストを送受信
- 21. RESTClientを使用してGZIP応答を受信する方法
- 22. ajaxを使用してファイルを送信し、Javaを使用して受信
- 23. C#ソケット受信バッファサイズコスト
- 24. C#シリアルポートデータフォーマット受信データ
- 25. 受信トラフィックの受信数:
- 26. mpi4pyを使用して複数の送信コマンドを受信
- 27. 受信メッセージの場所/受信メッセージを傍受する
- 28. Pentaho用のRESTサービスを使用してレポートからプロンプトを受信
- 29. django restフレームワークコメントフォームデータを送信しない(角度jを使用してjsonデータを送受信する方法)
- 30. ブロードキャスト受信機を使用してAndroidサービスを開始する
素晴らしい答え。 VC++では 'then'コールバックチェインの代わりに' co_await'を使うことができます –