🌊

【Laravel】TinkerでAPIを実行するときの覚書

2022/12/25に公開

はじめに

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