带有json序列化器的dancer2但是die返回html

时间:2015-11-25 20:14:16

标签: json perl dancer die

我正在将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的一致性?

0 个答案:

没有答案