Route::get('/users/{id}', [UserController::class, 'getUserInfo']);
url 지정을 해주는 Route를 routes/api.php 파일에 추가해줍니다.
/users/1을 입력하면 id 변수에 1이 들어가서 UserController의 getUserInfo 메서드에 전달됩니다.
root@80612f23b0cf:/var/www/html/laravel-api# php artisan make:controller UserController
PHP Warning: Module "pdo_mysql" is already loaded in Unknown on line 0
INFO Controller [app/Http/Controllers/UserController.php] created successfully.
위의 명령어로 UserController 파일을 생성합니다.
<?php
namespace App\Http\Controllers;
use App\Models\User;
class UserController extends Controller
{
public function getUserInfo(string $id): Response
{
$user = User::find($id);
return response($user, Response::HTTP_OK);
}
}
생성된 UserController (laravel-api/app/Http/Controllers/UserController.php) 파일에 위의 코드를 추가해줍니다.
/users/1 API를 호출하면 id가 1인 유저를 데이터베이스에서 모두 조회한 후 첫번째 유저의 정보를 JSON 형식으로 클라이언트에게 전달해줍니다.
root@webgori-1:~# curl localhost/api/users/1
{"id":1,"name":"Breanna Kohler","email":"walter52@example.org","email_verified_at":"2024-02-07T07:21:10.000000Z","created_at":"2024-02-07T07:21:11.000000Z","updated_at":"2024-02-07T07:21:11.000000Z"}
/api/users/1 API를 호출해보니 더미 데이터로 생성한 유저 정보가 잘 나옵니다.