Perl 我可以重写提供给Catalyst的URL吗?
我想在应用程序中的URL末尾使用后缀来确定响应的格式 所以Perl 我可以重写提供给Catalyst的URL吗?,perl,catalyst,Perl,Catalyst,我想在应用程序中的URL末尾使用后缀来确定响应的格式 所以http://foo/bar.json将导致json响应,http://foo/bar.xml在xml文档中,以及http://foo/bar在普通HTML页面中 我试图在一个初始组中(在begin或auto操作中)通过重写为后续操作发送的URL来实现这一点,但这似乎不起作用 对此有何建议??包括反对意见——毕竟这可能不是一个好主意 谢谢- sub type : Regex('foo/bar(\.[^/]+)?') { my (
http://foo/bar.json
将导致json响应,http://foo/bar.xml
在xml文档中,以及http://foo/bar
在普通HTML页面中
我试图在一个初始组中(在begin
或auto
操作中)通过重写为后续操作发送的URL来实现这一点,但这似乎不起作用
对此有何建议??包括反对意见——毕竟这可能不是一个好主意
谢谢-
sub type : Regex('foo/bar(\.[^/]+)?') {
my ( $self, $c ) = @_;
my ( $type) = @{ $c->req->captures };
$c->log->info("Type: ".$type);
$c->response->body( $c->welcome_message );
}
您可以尝试上面的代码,现在基于$type,您必须将视图切换到json/xml/html。制作表单的URL如何
http://foo.com/bar/json
,http://foo.com/bar/xml
等,然后使用此解决方案: