Perl CGI::Application::Plugin::REST实例脚本

Perl CGI::Application::Plugin::REST实例脚本,perl,rest,cgi,cgi-application,Perl,Rest,Cgi,Cgi Application,我试图用构建一个Restful服务,但我不确定如何实际构造脚本。它是否与使用CGI::Application相同,因此下面的实例脚本将使用Perl库路径引用模块 use CGI::Application::Plugin::REST qw( :all ); $self->rest_route( '/Stage/:id' => { 'GET' => 'Stage', }, '/Status

我试图用构建一个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框架,因为我想从头开始构建它。提前感谢您的帮助。

既然您说要将其用作构建的结构,我建议您将CGI::App logic放在自己的模块中。这将使以后开始编写测试时更容易进行测试。您的App.pm将看起来像一个普通的CGI::App controller:

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服务器将调用的实例脚本中,您可以简单地
使用App;应用程序->新建->运行