function put($id, $name)
{
try
{
product::put($id, $name);
}
catch(\util\BadNameException $e)
{
throw new RestException(400, "Please supply a better name.");
}
}
返回错误消息时,我还想在错误中包含(array)product::getNamingConvention()
的结果。我怎么能这样做?
我可以返回带有错误消息和数据的自定义数组,但在这种情况下我不知道如何将状态代码设置为400?
我正在使用Restler 3。
答案 0 :(得分:0)
Responder类负责为错误响应和成功响应提供结构
您可以如下所示扩展Responder类以添加数据属性
use \Luracast\Restler\Responder;
use \Luracast\Restler\Defaults;
class MyResponder extends Responder
{
public static $data = null;
public function formatError($statusCode, $message)
{
$r = array(
'error' => array(
'code' => $statusCode,
'message' => $message
)
);
if (isset(self::$data)) {
$r['data'] = self::$data;
}
return $r;
}
}
Defaults::$responderClass = 'MyResponder';
然后设置您班级的数据,如下所示
function put($id, $name)
{
try
{
product::put($id, $name);
}
catch(\util\BadNameException $e)
{
MyResponder::$data = product::getNamingConvention();
throw new RestException(400, "Please supply a better name.");
}
}