Dancer2::Controllers
A wrapper for exporting Dancer2 routes in various controller esq, modules.
Similar to how Spring-Boot declares their routes, except without annotations.
Example
package MyApp::Controller;
use Moo;
use strict;
use warnings;
with 'Dancer2::Controllers::Controller';
sub hello_world {
"Hello World!";
}
sub foo {
"Foo!"
}
sub routes {
return [
[ 'get' => '/' => 'hello_world' ],
[ 'get' => '/foo' => 'foo' ],
# Or, pass inline subs
[ 'get' => '/inline' => sub { 'Inline!!!' } ]
];
}
1;
use Dancer2;
use Dancer2::Controllers;
set port => 8080;
controllers( ['MyApp::Controller'] );
dance;
License
Dancer2::Controllers is free software, licensed under the MIT license.