2

我正在尝试使用CGI::Application::Plugin::REST构建一个 Restful 服务,但我不确定如何实际构建脚本。是否与使用 CGI::Application 相同,所以下面将是使用 Perl 库路径的实例脚本引用模块?

    use CGI::Application::Plugin::REST qw( :all );

$self->rest_route(
        '/Stage/:id'    => {
            'GET'    => 'Stage',
        },
        '/Status/:id'   => {
            'GET'    => 'Status',
        },
        '/Metadate/:id' => {
            'GET'    => 'Metadata',
        },
$self->run();

我承认我可能正在向后学习 CGI::Application,并且正在寻找一个简单的出路,因为一旦框架完成,其余的都是可以实现的。我也不想使用 MVC 框架,因为我想从头开始构建它。我在这里先向您的帮助表示感谢。

4

1 回答 1

1

既然你说你想用它作为一个结构来构建,我建议你把你的 CGI::App 逻辑放在它自己的模块中。这将使您以后开始编写测试时更容易进行测试。你的 App.pm 看起来像一个普通的 CGI::App 控制器:

package App;

use strict;
use parent 'CGI::Application';
use CGI::Application::Plugin::REST ':all';

sub setup {
    my $self = shift;
    $self->rest_route(
        '/some/route' => {
            'GET' => 'read_widget',
            'POST' => 'save_widget',
        },
    );
}

sub read_widget { ... }
sub save_widget { ... }
1;

然后在 Web 服务器将调用的实例脚本中,您可以简单地use App; App->new->run;

您可以在 C::A::P::REST 测试库中找到一个功能齐全的示例。

于 2013-11-10T21:39:32.763 回答