Как настроить объектно-ориентированное приложение jsonrpc Mojolicious?
Я пытаюсь настроить приложение jsonrpc, используя Mojo. Я построил некоторые контроллеры и связанные модули, используя REST, но затем решил, что мне нужно использовать JSONRPC.
Используя следующий код из http://metacpan.org/pod/Mojolicious%3A%3APlugin%3A%3AJsonRpcDispatcher
# 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 => Model, где контроллер был перенесен в этот формат в одном файле.
Я хотел бы настроить его так, чтобы файл приложения мог в основном загружать каждый из файлов в качестве службы, аналогично тому, что эта страница отображает http://metacpan.org/pod/MojoX%3A%3AJSON%3A%3ARPC%3A%3AService
$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:: Сервис, кажется, предлагает это. Я не смог заставить его работать.