你如何设置面向对象的jsonrpc Mojolicious应用程序?

时间:2012-04-04 21:06:19

标签: perl mojolicious

我正在尝试使用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似乎提供了这一点。我一直无法让它发挥作用。

0 个答案:

没有答案