Laravelでapiを作るには
環境
PHP 8.0.6 (cli)
Laravel Installer 4.2.5
手順
php artisan make:controller [コントローラー名]
できたファイル(コメントなど省略)
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class [コントローラー名] extends Controller { public function index() { } public function store(Request $request) { } public function show($id) { } public function update(Request $request, $id) { } public function destroy($id) { } }
全件取得、登録、id指定取得、更新、はかい~!のメソッドが自動で記載される
Route::apiResource('/hogehoge', '[コントローラー名]');
ルーティングされているものを見てみる
php artisan route:list +--------+-----------+------------------------+------------------+-------------------------------------------------+------------+ | Domain | Method | URI | Name | Action | Middleware | +--------+-----------+------------------------+------------------+-------------------------------------------------+------------+ | | GET|HEAD | api/hoge | hoge.index | App\Http\Controllers\HogeController@index | api | | | POST | api/hoge | hoge.store | App\Http\Controllers\HogeController@store | api | | | GET|HEAD | api/hoge/{hoge} | hoge.show | App\Http\Controllers\HogeController@show | api | | | PUT|PATCH | api/hoge/{hoge} | hoge.update | App\Http\Controllers\HogeController@update | api | | | DELETE | api/hoge/{hoge} | hoge.destroy | App\Http\Controllers\HogeController@destroy | api |
わお!全部盛りが秒で作れるやん。
Laravel界では当たり前かもしれないけど、感動した。