인프런 커뮤니티 질문&답변

최선우님의 프로필 이미지
최선우

작성한 질문수

PHP 개발자의 최종 테크트리, 라라벨 강의

routing 오류

해결된 질문

작성

·

414

0

안녕하세요, 선생님!

오늘도 어김없이 에러가 나네요!

url주소 창에 localhost/get/3라고 입력을 했더니, 브라우저에서 이런 결과를 출력해주네요!

소스코드에는 강의에서 진행한 그대로 똑같이 구성되어있는데도 불구하고, 이런 결과가 출력이되니까 어디에서 잘못된 건지 감도 안 잡히네요 ㅜㅜ

 

아 그리고 하나 더 궁금한 점이 있습니다.

api.php와 web.php이 차이점이 무엇이고 왜 둘을 구분해서 라우팅하는 건가요?

 

-routes/web.php

<?php

use Illuminate\Support\Facades\Route;
use Illuminate\Http\Request;
use App\Http\Controllers\NewController;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/



Route::get('/', function () {
    return view('welcome');
});


Route::get('/get/{$id}', function($id){
    return view('routing', ['id' => $id]);
});

 

-routes/api.php

<?php

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;

/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| is assigned the "api" middleware group. Enjoy building your API!
|
*/

Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
    return $request->user();
});


Route::post('post', function(Request $request){
    $data = $request->input('name');
    return view('routing',["id"=>$id,"data" => $data]);
})

 

 

-resources/views/routing.blade.php

{{$data}}
{{$id}}

<form method="POST" action = "/api/post">
    @csrf;
    <input type="text" name = "name">
    <input type= "submit" value = "test">
</form>

답변 1

1

백승철님의 프로필 이미지
백승철
지식공유자

  1. Route:get 의 경우 대괄호를 치는 부분에 {$id} 라고 하셨는데 이 $는 넣지 않습니다. 주소를 지정할 때 헷갈려 할 수 있는 부분이니 조심해 주세요!

  2. api.php 와 web.php 의 차이점은 거의 없다고 보시면 됩니다. 두군데 다 url 주소를 입력받으면 행선지를 결정하는 역할은 동일하지만, api는 앞에 주소/api 가 자동으로 붙게 되고 web은 파일에 선언한 그대로 불러올 수 있는 특징을 가지고 있습니다.

    ... 그 이외에는 미들웨어가 다르다는 점인데 이 부분도 web 에서 구현이 가능해서 큰 차이는 없다고 보시면 될 것 같습니다.

최선우님의 프로필 이미지
최선우
질문자

감사합니다, 선생님 :)

최선우님의 프로필 이미지
최선우

작성한 질문수

질문하기