🌊
【Laravel】TinkerでAPIを実行するときの覚書
はじめに
LaravelでtTinkerを使ってAPIの実行結果を確認する方法を最近習得したので書きます。
Tinkerの説明や構文の解説は省略して、使い方のみです。
環境
- Laravel 9
- Laravel Sail
- 認証はLaravel Sanctum
実行するAPI
Route::get('/projects/get_users/{project_id}', [ApiProjectsController::class, 'get_unders']);
コマンド
// Tinkerを起動
sail tinker
// idが1のユーザーでログインした状態
Auth::loginUsingId(1);
// urlのパラメーターを指定する
$project_id = 1;
//その他のパラメーター渡す時は、keyと値をセットで追加する
$params = ['item_id'=>1];
// APIのエンドポイント、GET・POSTなどのメソッド、パラメーターを書きリクエストを指定
$request = \Illuminate\Http\Request::create('/api/projects/get_users/{project_id}','GET',$params);
// 実行するコントローラのクラスを指定
$controller = app()->make(\App\Http\Controllers\Api\ApiProjectsController::class);
// 実行するメソッドを指定
app()->call([$controller, 'get_users'], ['request' => $request,'project_id'=>$project_id]);
以上はGETの時の例ですが、POSTしたい時は、'GET'ではなく'POST'を指定し、$paramsに必要なパラメーターを入れます。
とりあえず使うために必要な方法を書きました。使い方や理解で誤ってる点あればコメントいただけると幸いです。
Discussion