3

これの基本は、API からのエラーを処理し、API を介してスローされたすべてのエラーが json 応答を返すようにしたいが、Web サイトでは HTML 応答を送信したいということです。

より良い方法がある場合は、 http: //laravel.com/docs/requests#request-informationのロジックを純粋に適用し、次のようなものを使用します。

if (Request::is('admin/*'))
{
    //
}

これは機能しますが、スローされる可能性のある例外の種類ごとにそれを行うのは少し面倒ですか? ドキュメントには何もないようですが、動作する可能性のあるものがあるかどうかをさまよっていたので、ルートのワイルドカードの設定にエラーを適用できますか? 何かのようなもの:

App::error('admin/*', function(Exception $exception)
{
    Log::error($exception);
});
4

2 に答える 2

2

App::error フィルターを追加し、そのフィルターでルート チェックを実行してから、json で応答を送信できます。次のような簡単な例:

App::error(function(Exception $exception) {
    if (Request::is('api/*')) {
        $message = get_class($exception) . ":: message: " . $exception->getMessage();       
        return Response::json(["success"=>false,"message"=>$message]);
    }
});
于 2015-03-08T07:16:39.657 に答える
1

ルート グループhttp://laravel.com/docs/routing#route-groupsを使用してグループにフィルターを適用するか、プレフィックス付きルート グループhttp内で宣言した場合は App::error メソッドを使用できます。://four.laravel.com/docs/routing#route-prefixing . どちらの方法でもうまくいくかどうかは 100% ではありませんが、うまくいかない場合は、Laravel IRC が非常にアクティブです。http://laravel.io/ircを参照して、すばやく簡単な Web クライアントを確認してください。

于 2013-09-19T15:18:37.093 に答える