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: | 2025-02-06 03:12:58 |
Package Statistics | |
---|---|
Total Downloads: | 42 |
Monthly Downloads: | 0 |
Daily Downloads: | 0 |
Total Stars: | 0 |
Total Watchers: | 3 |
Total Forks: | 0 |
Total Open Issues: | 0 |
Rest API アプリケーション作成用のミドルウェア
レスポンス生成の一元化とエラーハンドリングを担う。
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 継承で投げると特別処理がかかる。
\Chatbox\RestAPI\Http\Response を拡張する。
\Chatbox\RestAPI\Exceptions\Handler を拡張する。