【发布时间】:2012-05-11 05:10:47
【问题描述】:
我正在使用 zabbix 并编写一个与 zabbix api 交互的接口。由于 zabbix 公开了一个 jsonrpc 接口,我决定使用 MojoX::JSON::RPC::Service。我遇到的问题是,我现在面临着与使用 Mojolicious::Controllers 编写的其他服务进行交互,他们期望 Mojolicious::Controller 对象。使用 MojoX::JSON::RPC::Service 时没有可用的 Mojolicious::Controller 对象。
my $obj = $rpc_obj->register(
'retrieve',
sub {
# do stuff
},
{ with_mojo_tx => 1 }
);
它注册了一个名为“retrieve”的路由。当路由被访问并且匿名 子程序运行时,子程序只能访问 Mojo::Transaction::HTTP 对象。
因此,我无法访问该应用程序来使用插件以及 Mojolicious 提供的存储和其他东西。有没有办法将 Mojolicious::Controller 与 MojoX::JSON::RPC::Service 结合起来?
我可以重写它以使用 Mojolicious::Controller,但如果可能的话,我会尽量避免这种情况。
【问题讨论】:
标签: perl mojolicious