在Restler中使用自定义异常的正确方法是什么?

时间:2013-10-11 11:29:34

标签: php restler

让我们说而不仅仅是输出:

{
  "error": 
  {
    "code": 500,
    "message": "Some internal error"
  }
}

我想输出:

{
  "error": 
  {
    "code": 500,
    "message": "Some internal error",
    "error_code" : 1050
  }
}

还有一种方法可以捕获所有例外的日志目的吗?

1 个答案:

答案 0 :(得分:3)

使用RestException抛出异常并使用details参数(数组)添加其他详细信息

throw new RestException(400, 'invalid user', array('error_code' => 12002));

给我以下

{
  "error": {
    "code": 400,
    "message": "Bad Request: invalid user",
    "error_code": 12002
  },
  "debug": {
    "source": "Say.php:5 at call stage",
    "stages": {
      "success": [
        "get",
        "route",
        "negotiate",
        "validate"
      ],
      "failure": [
        "call",
        "message"
      ]
    }
  }
}

信息: - 当restler在调试模式下运行时,会返回其他调试信息。 可以使用Compose::$includeDebugInfo=false;

关闭它

注意: - 确保您使用的是Restler 3.0 RC4或更高版本