CppRestAPIのRouting
Share
CppRestAPIでは get、put、post、delメソッドを実装したRestAPIクラスをapiに設定します。
map<string, RestAPI> api;
api.insert(api_name, rest_api);
設定したapi毎にcpprestspaのhttp_listenerにapiのget、put、post、delメソッドを追加します。
map<string, http_listener> listener;
listener.insert(api_name, http_listener{url});
listener.at(api_name).support(<GET|PUT|POST|DEL>, rest_api.<get|put|post|del>);
実際の実装ではrest_apiを直接登録せずにAuthクラスのaccessメソッドを先に処理するgetAPIメソッドを経由(ハンドラー)してrest_apiを実行しています。
getAPIハンドラーではaccessが許可なら要求されたapiの処理を呼び出します。
不可ならlogin_apiのgetメソッドを呼び出します。
独自のRestAPIクラスを追加するには権限管理を設定した後、api.insertにapi名とRestAPIクラスを登録します。