您推荐什么Perl RESTful框架?

您推荐什么Perl RESTful框架?,perl,rest,apache2,mod-perl2,Perl,Rest,Apache2,Mod Perl2,您好,我正在寻找一个Perl RESTful框架,它必须: 根据apache2/mod_perl2开展工作 简单点 文雅 轻点 灵活 我只是在做梦,还是可以避免“自己滚”的做法 您推荐什么框架?是一个MVC框架,您可以使用它来创建Restfull服务 它在apache2/mod_perl2下运行 它简单而优雅,但没有大多数“新”MVC框架那么多 嗯。。它很轻 不要认为它真的很灵活( 编辑: -我所说的“新”框架是那些有好的测试框架可供使用的框架(比如rails/spring/Seam,有

您好,我正在寻找一个Perl RESTful框架,它必须:

  • 根据apache2/mod_perl2开展工作
  • 简单点
  • 文雅
  • 轻点
  • 灵活
我只是在做梦,还是可以避免“自己滚”的做法

您推荐什么框架?

是一个MVC框架,您可以使用它来创建Restfull服务

  • 它在apache2/mod_perl2下运行
  • 它简单而优雅,但没有大多数“新”MVC框架那么多
  • 嗯。。它很轻
  • 不要认为它真的很灵活(
编辑:
-我所说的“新”框架是那些有好的测试框架可供使用的框架(比如rails/spring/Seam,有了catalyst,除了正常的单元测试之外,进行测试并不容易),还有很多开发人员正在为他们构建应用程序(围绕这些框架的社区更为活跃)这就是为什么我认为Catalyst不太灵活的原因。

我最喜欢的Perl web应用程序框架是。它非常轻量级(可以从中继承的单个基类)你可以在正式的MVC设计中使用它,如果你想做的话,也可以做一些特别的事情

它有一个简单的体系结构,允许您轻松添加对 (由机箱外支撑), , , , 等等

最后,对于创建类似REST的友好URL,有一个非常好的方法,它为基于URL的调度提供了一个强大的基于规则的引擎


此外,尽管名称不同,它在mod_perl 1和mod_perl 2下仍能无缝工作。

我想您会发现,所有这些框都打勾了

我已经用它写了很多小的RESTful应用程序。它非常适合这个应用程序,而且使用起来很愉快

以下是更多的链接:

下面是一个简单的“hello world!”示例:

在相关位置将上述内容另存为Simple.pm,并确保Apache配置中包含以下内容:

<Perl>
  use Simple 'On::MP20';
  Simple->init
</Perl>

<Location />
  SetHandler perl-script
  PerlHandler Simple->mp20
</Location>

使用简单的“On::MP20”;
简单->初始化
SetHandler perl脚本
PerlHandler简单->mp20
你走开!

在这里,我还想顺便提及一些其他框架,这些框架应该符合本条例草案的要求:

我之所以说“顺便提一下”,是因为我没有使用过这两种方法中的任何一种,而且我不确定这两种方法(开箱即用)是否适用于mod_perl2。尽管即将到来,但这不会是一个太长时间的问题;-)


/i3AZ/

< P>另一个要考虑的是,它允许以非常简单的方式编写和测试RESTORY API。

我已经使用()用于我的一些较小的项目。它非常优雅,很容易用它快速完成任务。它的灵感来自Ruby框架

这很容易:

#!/usr/bin/env perl
use Dancer;

get '/' => sub {
    'Hello world!'
};

dance;

Dancer有很好的文档记录,如果您查看测试套件,就会发现它是可信的:~500个测试,覆盖了80%以上的源代码树

它符合PSGI/Plack,并且几乎没有依赖性。1.0版应该很快发布(可能是这个周末)


请继续关注。

我终于推出了自己的纯mod_perl2 RESTful API专用框架:

没有什么是内置的,除了基本的。其余部分是可扩展的(或将是可扩展的)。我看了你所有的建议,它们似乎都解决了太多的问题(DBI管理、ORM、模板引擎、嵌入式服务器……)


这就是我写这篇文章的原因。我希望您会发现它很有用。

很抱歉回答得有点晚,但我描述了一个REST框架,它对我来说运行良好。它使添加新资源变得非常简单;我只需要编写特定于资源的业务逻辑;框架负责其余部分。

那么你对Catalyst的看法就有问题了。它可能是所有各种web框架中最灵活的。我不知道你为什么认为测试是困难的。Catalyst,事实上,大多数perl社区都依赖于来自test::Builder、test::Harness和test::More沿袭的大量测试框架。对于网站的功能测试,我们为Selenium用户提供了Test::WWW::Selenium,对于更简单的非ajaxy网站,提供了Test::WWW::Mechaninze。然后,所有这些接口都可以在一个面向对象的测试框架中分层,其中包含像Test::Class这样的类,这是一个很棒的xunit风格的测试框架。我不太确定你在寻找什么样的测试框架,或者你只是不熟悉其中的内容。我不确定你为什么不建议Catalyst,它非常灵活,而且随着Moose的发展,它变得更加灵活。使用Catalyst,您还可以非常轻松地构建REST服务。请参阅:。至于测试,与Perl的其余部分一样,Catalyst中有大量的测试能力。看一看和相关的模块。总而言之,我想说catalyst是一个不错的选择。+1代表catalyst,但-1代表关于灵活性/可测试性的错误评论。我想我以前从未听过有人将catalyst称为“轻量级”——即使没有添加Moose,它长期以来一直是CPAN关于大规模依赖链恐怖故事的海报。(而且,如果有人在抱怨Catalyst之外的依赖链,那么他们抱怨的可能是驼鹿,所以Moosify Catalyst对此没有帮助。)
#!/usr/bin/env perl
use Dancer;

get '/' => sub {
    'Hello world!'
};

dance;