Я работаю с zabbix и пишу интерфейс для взаимодействия с API zabbix. Поскольку zabbix предоставляет интерфейс jsonrpc, я решил использовать MojoX::JSON::RPC::Service. Проблема, с которой я столкнулся, заключается в том, что теперь я столкнулся с взаимодействием с другими службами, написанными с использованием Mojolicious::Controllers, где они ожидают объекты Mojolicious::Controller. Объект Mojolicious::Controller недоступен при использовании MojoX::JSON::RPC::Service.
my $obj = $rpc_obj->register(
'retrieve',
sub {
# do stuff
},
{ with_mojo_tx => 1 }
);
Это регистрирует маршрут под названием «извлечение». При доступе к маршруту и запуске анонимной подпрограммы она имеет доступ только к объекту Mojo::Transaction::HTTP.
Итак, у меня нет доступа к приложению для использования плагинов и тайника и других вещей, которые предлагает Mojolicious. Есть ли способ интегрировать Mojolicious::Controller с MojoX::JSON::RPC::Service?
Я мог бы переписать его, чтобы использовать Mojolicious::Controller, но я стараюсь избегать этого, если это возможно.