GET /getDog?id=1
URL을 원격 컴퓨터에 있는 API를 호출로 보는 관점 => URL과 API 설계를 동일시하는 개념
이 방식은 이제 거의 사용하지 않는다.
GET /dogs/1
URL을 원격 컴퓨터의 리소스로 생각하는 관점 => 원격 컴퓨터의 리소스는 시간에 따라 상태가 변할 수 있다. 클라이언트와 서버가 상태를 교환한다.
REST 원칙에 따라 URL을 설계하면 특정 플랫폼이나 프레임워크에 종속되지 않고 유연성이 높아진다.
터미널에 입력
php artisan make:controller ArticlesController --resource
routes/web.php
파일
Route::resource('articles', 'ArticlesContoller');
URL 경로와 컨트롤러 이름은 복수형을 쓸 것을 권장한다.
컨트롤러는 파스칼 표기법을 사용한다.
HTTP | URL | HTTP 메서드 오버라이드 | 컨트롤러 | 설명 |
---|---|---|---|---|
GET | articles | [ArticlesController::class, 'index'] | Article 모델 컬렉션 조회 | |
POST | articles | [ArticlesController::class, 'store'] | 새 Article 모델 만들기 | |
GET | articles/create | [ArticlesController::class, 'create'] | 새 Article 모델 값 받는 폼 | |
GET | articles/123 | [ArticlesController::class, 'show'] | 키값이 123인 Article 모델 조회 | |
POST | articles/123 | _method=PUT | [ArticlesController::class, 'update'] | 키값이 123인 Article 모델 수정 |
POST | articles/123 | _method=DELETE | [ArticlesController::class, 'destroy'] | 키값이 123인 Article 모델 삭제 |
GET | articles/123/edit | [ArticlesController::class, 'edit'] | 키값이 123인 Article 모델 수정 값을 받는 폼 |