我正在将Dancer应用程序迁移到Dancer2。我有大量典型的die()消息,它们是html格式而不是JSON格式。
在我的模块中:
## We want pretty JSON.
set engines => {
serializer => {
JSON => {
convert_blessed => 1,
pretty => 1,
}
}
};
set serializer => 'JSON';
set charset => 'utf8';
后来在一条路线中,当数据无效时我们死了。
get qr{/hardware/?$}i => sub {
my $params = params;
if (exists($params->{id})) {
if ($params->{id} =~ /^\d+$/) {
forward "/hardware/${\$params->{id}}", {};
}
else {
die "You must supply a numeric Hardware ID.";
}
}
return($api->handle_request('API::Hardware', 'list', $params));
};
但是,模具响应不是JSON,而是HTML。有关如何强制die()响应到json的任何线索,为了我的restful api的一致性?