{std::string("/v1/" #api_name "/" #call_name), \
[api_handle](string, string body, url_response_callback cb) mutable { \
try { \
auto params = parse_params<api_namespace::call_name ## _params, params_type>(body);\
cb(http_response_code, std::move(result)); \
} catch (...) { \
http_plugin::handle_exception(#api_name, #call_name, body, cb); \
} \
}}
stores null, int64, uint64, double, bool, string, std::vector<variant>, and variant_object's.
account_query_db::get_accounts_by_authorizers_params params
34#define CALL_WITH_API_400(api_name, api_handle, api_namespace, call_name, http_response_code, params_type) \
35{std::string("/v1/" #api_name "/" #call_name), \
36 [api_handle](string, string body, url_response_callback cb) mutable { \
37 try { \
38 auto params = parse_params<api_namespace::call_name ## _params, params_type>(body);\
39 fc::variant result( api_handle.call_name( std::move(params) ) ); \
40 cb(http_response_code, std::move(result)); \
41 } catch (...) { \
42 http_plugin::handle_exception(#api_name, #call_name, body, cb); \
43 } \
44 }}