【问题标题】:CGI::Application::Plugin::REST Instance ScriptCGI::Application::Plugin::REST 实例脚本
【发布时间】:2013-11-11 05:39:32
【问题描述】:

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

【问题讨论】:

    标签: perl rest cgi cgi-application


    【解决方案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;

    You can find a fully functioning example in the C::A::P::REST test lib.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-25
      • 1970-01-01
      • 2011-02-14
      • 2014-05-31
      • 2019-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多