chatbox-inc / lumen-restapi
There is no license information available for the latest version (0.0.2) of this package.
0.0.2
2016-10-01 08:14 UTC
Requires (Dev)
- laravel/lumen: ^5.3
- peridot-php/peridot: ^1.18
This package is auto-updated.
Last update: 2024-11-13 19:20:12 UTC
README
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 を拡張する。