chatbox-inc / lumen-restapi by mikakane

40
0
3
Package Data
Maintainer Username: mikakane
Maintainer Contact: mikakane2@gmail.com (mikakane)
Package Create Date: 2016-10-01
Package Last Update: 2016-10-15
Language: PHP
License: Unknown
Last Refreshed: 2024-05-18 15:16:13
Package Statistics
Total Downloads: 40
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 0
Total Watchers: 3
Total Forks: 0
Total Open Issues: 0

Lumen Application

Latest Stable Version License composer.lock available

Rest API アプリケーション作成用のミドルウェア

レスポンス生成の一元化とエラーハンドリングを担う。

機能

  • RestAPI Response整形の1極化
  • ExceptionHandlerの搭載

Usage

Exception Handler はデフォルトのものを使用する想定

$app->singleton(\Illuminate\Contracts\Debug\ExceptionHandler::class,\App\Exceptions\Handler::class);

対象のルートにミドルウェアを二枚かける

ミドルウェアの設定順序には注意すること。

$app->group([
    "middleware" => [
        \Chatbox\RestAPI\Http\Middleware\HttpExceptionHandler::class,
        \Chatbox\RestAPI\Http\Middleware\APIResponseHandler::class
        ]
],function($router){
    $router->get("/api/status",function(){
        return [];
    });

    $router->get("/api/missing",function(){
        abort(404);
    });

    $router->get("/api/error",function(){
        throw new \Exception();
    });
});

拡張

全ての例外は一度 HttpRequest で投げられるので、そこから処理してあげると楽だったり。

400 系エラー例外はHttpExcepiton 継承で投げると特別処理がかかる。

Responseを操作する時

\Chatbox\RestAPI\Http\Response を拡張する。

Exceptionsを操作する時

\Chatbox\RestAPI\Exceptions\Handler を拡張する。