Silex JSON样式响应

时间:2016-09-30 18:33:16

标签: php json silex

我正在从RESTler API框架切换到Silex。部分挑战是确保我们API的响应不会发生变化,因为我们的生产中的应用程序依赖于它。目前开箱即用的Silex 2.0正在拦截我们的JSON错误处理程序并将其替换为:

Whoops Message

作为回应我需要的是:

/target

我找到了解决方案的片段,但它们大部分都已过时,或者我无法让它们与Silex 2.0一起使用。

我可以轻松做到

{
  "error": {
    "code": 400,
    "message": "This API key is not authorized to complete the operation"
  }
}

然而,这必须在路由级别完成,迫使我重写所有控制器。它们不管理错误,在业务逻辑层和模型层处理错误。

他们无论如何要覆盖Silex中的默认错误处理?此外,最理想的是具有错误处理,因为它用于调试,但很容易在生产或本地测试中切换到JSON错误响应。

1 个答案:

答案 0 :(得分:0)

使用构造尝试捕获。例如:

try{
   // your code 
} catch(\Namespace\RestException $e) {
  $error = array('message' => 'This API key is not authorized to complete the operation');
  return $app->json($error, 400);
}