Skip to main content

기본 라우팅

Laravel의 가장 기본적인 라우트는 URI와 클로저를 받습니다. 복잡한 설정 파일 없이 라우트와 동작을 간단히 정의할 수 있습니다.

기본 라우트 파일

모든 Laravel 라우트는 routes/ 디렉터리의 라우트 파일에 정의합니다. 이 파일들은 bootstrap/app.php의 설정에 따라 Laravel이 자동으로 로드합니다. routes/web.php에는 브라우저용 라우트를 정의합니다. 이 파일의 라우트에는 web 미들웨어 그룹이 적용되어 세션·CSRF 보호·쿠키 암호화가 제공됩니다.

API 라우트

애플리케이션이 상태 비저장 API를 제공하는 경우, install:api Artisan 명령으로 API 라우팅을 활성화할 수 있습니다.
install:api 명령은 Laravel Sanctum을 설치하고 routes/api.php 파일을 생성합니다. Sanctum은 서드파티 API 컨슈머, SPA, 모바일 애플리케이션용의 단순하고 견고한 API 토큰 인증 가드를 제공합니다.
routes/api.php의 라우트는 상태 비저장이며, api 미들웨어 그룹이 적용됩니다. 또한 모든 라우트에는 자동으로 /api URI 프리픽스가 적용되므로 수동으로 부여할 필요는 없습니다. 프리픽스를 변경하는 경우, 애플리케이션의 bootstrap/app.php 파일을 편집합니다.

사용 가능한 HTTP 메서드

라우터는 모든 HTTP 메서드에 대응하는 라우트를 등록할 수 있습니다.
여러 HTTP 메서드에 응답하는 라우트는 match 또는 any를 사용합니다.
web 라우트 파일에서 POST·PUT·PATCH·DELETE를 받는 HTML 폼에는 반드시 @csrf 디렉티브를 포함시켜 주세요. 포함시키지 않으면 요청이 거부됩니다.

뷰를 반환하는 라우트

라우트가 뷰만 반환하는 경우에는 Route::view를 사용하면 간결하게 작성할 수 있습니다.

라우트 파라미터

필수 파라미터

URL의 일부를 동적으로 가져오려면 라우트 파라미터를 사용합니다. 파라미터는 {}로 감싸고, 라우트 콜백의 인수로 받습니다.
여러 파라미터도 정의할 수 있습니다.
라우트 파라미터에는 / 문자를 포함할 수 없습니다.

선택 파라미터

파라미터를 선택 사항으로 하려면, 파라미터 이름 끝에 ?를 붙이고 대응하는 인수에 기본값을 설정합니다.

정규 표현식에 의한 파라미터 제약

where 메서드를 사용해 파라미터의 형식을 정규 표현식으로 제약할 수 있습니다.
자주 사용하는 패턴은 편의 메서드로도 작성할 수 있습니다.

이름 지정 라우트

이름 지정 라우트를 사용하면 URL 생성이나 리다이렉트를 수행할 때 라우트 이름을 사용해 참조할 수 있습니다.

이름 지정 라우트에 대한 URL 생성

라우트 이름에서 URL을 생성하려면 route 헬퍼를 사용합니다.

리다이렉트

라우트 그룹

관련된 라우트를 그룹화해 미들웨어·컨트롤러·프리픽스 등을 공통 설정할 수 있습니다.

미들웨어

컨트롤러

같은 컨트롤러를 사용하는 라우트를 그룹화할 수 있습니다.

프리픽스

라우트의 URI에 공통 프리픽스를 붙일 수 있습니다.

라우트 목록 확인

정의된 모든 라우트를 목록으로 표시하려면 Artisan 명령을 사용합니다.
미들웨어 정보도 함께 표시하려면 다음과 같이 합니다.
특정 URI로 시작하는 라우트만 표시하려면 다음과 같이 합니다.

다음 단계

뷰

뷰를 생성하고 컨트롤러에서 데이터를 전달하는 방법을 배웁니다.
마지막 수정일 2026년 7월 13일