2013-11-10 4 views
2

CGI::Application::Plugin::REST으로 Restful 서비스를 구축하려하지만 스크립트를 실제로 구성하는 방법을 모르겠습니다. CGI :: Application을 사용하는 것과 같습니까? 그래서 아래는 Perl 라이브러리 경로가있는 모듈을 참조하는 인스턴스 스크립트입니다.CGI :: Application :: Plugin :: REST 인스턴스 스크립트

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 프레임 워크를 처음부터 구축하고자 할 때 MVC 프레임 워크를 사용하고 싶지 않았습니다. 사전에 도움을 주셔서 감사합니다.

답변

1

구조를 구축하기 위해 이것을 사용하고 싶다고 말했기 때문에 CGI :: App 로직을 자체 모듈에 두는 것이 좋습니다. 그러면 테스트를 시작할 때 나중에 테스트하기가 더 쉬워집니다. 귀하의 App.pm 정상적인 CGI처럼 보일 것입니다 : 응용 프로그램 컨트롤러 : 웹 서버가 호출 인스턴스 스크립트에서 다음

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; 

그리고를, 당신은 단순히 use App; App->new->run;

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