我正在尝试使用CGI::Application::Plugin::REST构建Restful服务,但我不确定如何实际构建脚本。它是否与使用CGI :: Application相同,因此以下将是引用具有Perl库路径的模块的Instance Script?
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 ::应用程序,并且我正在寻找一个简单的方法,因为一旦框架完成,其余部分是非常容易实现的。另外我不想使用MVC框架,因为我想从头开始构建它。感谢您的帮助。
答案 0 :(得分: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.