我正在尝试使用Mojo设置jsonrpc应用程序。我建了一些控制器 和使用REST的相关模块然后决定我需要使用JSONRPC。
使用http://metacpan.org/pod/Mojolicious::Plugin::JsonRpcDispatcher
中的以下代码# lib/your-application.pm
use base 'Mojolicious';
use MojoX::JSON::RPC::Service;
sub startup {
my $self = shift;
my $svc = MojoX::JSON::RPC::Service->new;
$svc->register(
'sum',
sub {
my @params = @_;
my $sum = 0;
$sum += $_ for @params;
return $sum;
}
);
$self->plugin(
'json_rpc_dispatcher',
services => {
'/jsonrpc' => $svc
}
);
我能够复制我的一个Controller =>控制器所在的模型关系 在一个文件中移植到这种格式。
我想设置它,以便应用程序文件基本上可以加载每个文件 作为类似于此页面显示http://metacpan.org/pod/MojoX::JSON::RPC::Service
的服务$svc->register(
'sum',
sub {
my @params = @_;
my $sum = 0;
$sum += $_ for @params;
return $sum;
}
);
换句话说,我所设想的是重新设计每个控制器以采取类似的行动 上面的代码片段,但将它们全部加载到应用程序模块中。像这样:
## Then in Mojolicious application
$self->plugin(
'json_rpc_dispatcher',
services => {
'/jsonrpc' => $svc,
}
);
是否可以创建一个文件,其功能设置与上面的代码类似,然后加载 它们作为应用程序模块中的服务器? MojoX :: JSON :: RPC :: Service似乎提供了这一点。我一直无法让它发挥作用。