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. C++ REST SDK( "Casablanca")のURIエンコーディング
- 5. C#でGmail受信トレイを受信
- 6. FirefoxアドオンSDKのリクエストモジュールを使用してバイナリデータを受信
- 7. Google API access_tokenを使用して受信トレイのメールを受信しますか?
- 8. KeychainItemWrapper iPhone SDKを使用中にSIGABRTを受信しました
- 9. スパークストリーミングRESTカスタム受信機
- 10. C#を使用してFacebookの受信トレイにメッセージを送信するには?
- 11. C#でHTTP Post JSONを受信して使用するasp.net
- 12. SOAPを受信して送信する
- 13. C#ソケットはデータを受信して再び送受信します
- 14. C#UDPブロードキャストして受信する例
- 15. CのOpenSSLを使用してhttp応答メッセージを受信
- 16. C++ OpenMPIを使用してマスタ/スレーブプロセス間でリストを送受信
- 17. ajaxを使用してファイルを送信し、Javaを使用して受信
- 18. Pentaho用のRESTサービスを使用してレポートからプロンプトを受信
- 19. 受信トラフィックの受信数:
- 20. C#シリアルポートデータフォーマット受信データ
- 21. C#ソケット受信バッファサイズコスト
- 22. mpi4pyを使用して複数の送信コマンドを受信
- 23. 受信メッセージの場所/受信メッセージを傍受する
- 24. django restフレームワークコメントフォームデータを送信しない(角度jを使用してjsonデータを送受信する方法)
- 25. GoogleCast-SDK v3を使用してiOS送信者から受信者アプリにJSONを送信
- 26. ブロードキャスト受信機を使用してAndroidサービスを開始する
- 27. 特定のメールアドレス宛てに受信メールを受信すると、受信メールが返信されます
- 28. D受信全パケットを受信していません
- 29. Android、OSC、受信者がメッセージを受信していません。
- 30. SMS受信者がインテントを受信していない
素晴らしい答え。 VC++では 'then'コールバックチェインの代わりに' co_await'を使うことができます –