Как настроить объектно-ориентированное приложение 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:: Сервис, кажется, предлагает это. Я не смог заставить его работать.

0 ответов

Другие вопросы по тегам