2016-02-05 135 views
1

我使用yii2 rest api模塊,其中控制器類擴展了一個ActiveController,我有一個處理錯誤異常的問題。我需要一個適當的JSON響應時,由像500,Yii的REST框架中使用HTTP狀態碼400。如果我嘗試訪問API錯誤的方法調用它表現出異常對象yii2 rest api異常處理

object(yii\web\NotFoundHttpException)#170 (8) { ["statusCode"]=> int(404) 

在我的配置/主.PHP設置響應

'response' => [ 
    'class' => 'yii\web\Response', 
    'on beforeSend' => function ($event) { 
     $response = $event->sender; 
     if ($response->data !== null) { 
      $response->data = [ 
      'success' => $response->isSuccessful, 
      'data' => $response->data, 
      ]; 
      $response->statusCode = 200; 
     } 
    }, 
] 

應該顯示一個類似的消息:

{ 
    "status": 0, 
    "error_code": 400, 
    "message": "Bad request" 
} 

我有嘗試使用此鏈接在控制器中添加行爲動詞:click here

我的整個應用程序是基於API,請幫我處理您的服務器CONFIGS所有樣的錯誤

回答

3

另外還要看但通常你不需要任何的。這應該是足夠的:

'response' => [ 
    'format' => yii\web\Response::FORMAT_JSON, 
    'charset' => 'UTF-8', 
], 

下面是使用那些CONFIGS一個輸出例如:https://yii2-f4a.rhcloud.com/api/tags