c++ - 呼び出し - web api メソッド
C/C++でJSON RESTfulサービスを実装する方法 (5)
私はC / C ++でJSON Restful Webサービスをやろうとしています。 Axis2 / CとStaffを試してみましたが、これはXMLのシリアライズ/デシリアライゼーションには効果的ですが、JSONではうまく動作しません。
AXIS2 / CのJSONのサポートを解決したJIRAプロジェクトがあります。
私は私のプロジェクトで実装し、私は作家(Badgerfish大会)と一緒に管理しましたが、まだ私は読者と一緒に管理しようとしています。
メモリ内のスタックを管理する方がより複雑に思えます。
C ++ Webサービスでは、次のスタックを使用しています。
- ipkn/crow C ++マイクロウェブフレームワーク
- jsonのシリアライゼーション/デシリアライズのためのnlohmann/json
ffead-cpp見ることができます。 jsonとrestfull Webサービスのサポートを提供するほか、より多くの機能が含まれています。 このフレームワークはあなたの状況には重すぎるかもしれません。
ngrest試してみてください。 シンプルでfast C ++ RESTful JSON Webサービスフレームワークです。 これは、Apache2、Nginxまたは独自の単純なhttpサーバーの上に配置することができます。
JSONを使ったAxis2 / Cについて 公式のAxis2 / Cはもはや維持されていないようです。 したがって、Axis2 / Cは時代遅れになりますが、それでも動作します。
Axis2 / CのJSONサポートは、 axis2c-unofficialプロジェクトで利用可能です。
Linux 、 バイナリパッケージを使用する Windows、ソースコードから WindowsでJSONをサポートするAxis2 / Cをインストールする方法に関するインストールマニュアルがあります 。
JSONモード(スタッフソースコードのstaff/samples/rest/webclient
ディレクトリから入手可能)でWSF Staff Customers(REST)の例で試すことができます。
あなたはwebcc見たいかもしれません。
Boost.Asio(1.66+)に基づく軽量なC ++ RESTおよびSOAPクライアントおよびサーバーライブラリです。
かなり有望で積極的に開発されています。
サーバーとクライアントを作成する方法を示すための素晴らしい例があります。
利点:
- コードはきれいです(厳密にはGoogle C ++スタイルに従います)。
- VLDテストによるメモリリークはありません。
- 使いやすいAPI。
- 等
欠点:
- SSLサポートはまだありません。
- Nginxなどの既存のWebサーバーには、独自のHTTPサーバーを管理するため、配置できません。