RESTful 라우트와 컨트롤러

inhalin·2021년 7월 8일
0

일터지식

목록 보기
8/14

URL을 보는 관점

  1. RPC(Remote Procedure Call)

GET /getDog?id=1 URL을 원격 컴퓨터에 있는 API를 호출로 보는 관점 => URL과 API 설계를 동일시하는 개념

이 방식은 이제 거의 사용하지 않는다.

  1. REST(REpresentational State Transfer)

GET /dogs/1 URL을 원격 컴퓨터의 리소스로 생각하는 관점 => 원격 컴퓨터의 리소스는 시간에 따라 상태가 변할 수 있다. 클라이언트와 서버가 상태를 교환한다.

REST 원칙에 따라 URL을 설계하면 특정 플랫폼이나 프레임워크에 종속되지 않고 유연성이 높아진다.

How to design a REST API

RESTful 리소스 컨트롤러 만들기

터미널에 입력

php artisan make:controller ArticlesController --resource

routes/web.php 파일

Route::resource('articles', 'ArticlesContoller');

URL 경로와 컨트롤러 이름은 복수형을 쓸 것을 권장한다.
컨트롤러는 파스칼 표기법을 사용한다.

REST 원칙에 맞춘 URL과 컨트롤러 메서드

HTTPURLHTTP 메서드 오버라이드컨트롤러설명
GETarticles[ArticlesController::class, 'index']Article 모델 컬렉션 조회
POSTarticles[ArticlesController::class, 'store']새 Article 모델 만들기
GETarticles/create[ArticlesController::class, 'create']새 Article 모델 값 받는 폼
GETarticles/123[ArticlesController::class, 'show']키값이 123인 Article 모델 조회
POSTarticles/123_method=PUT[ArticlesController::class, 'update']키값이 123인 Article 모델 수정
POSTarticles/123_method=DELETE[ArticlesController::class, 'destroy']키값이 123인 Article 모델 삭제
GETarticles/123/edit[ArticlesController::class, 'edit']키값이 123인 Article 모델 수정 값을 받는 폼

0개의 댓글