[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Alef Silva
Criador Alef Silva 31/01/2024

Vou exemplificar 2 situações (uma delas com o funcionamento correto e outra dando erro)

Exemplo 1: posts/pending inserida ao final de todas as outras rotas

Route::get('/posts', [PostController::class, 'index'])->name('posts.index');
Route::get('/posts/create', [PostController::class, 'create'])->name('posts.create');
Route::post('/posts', [PostController::class, 'store'])->name('posts.store');
Route::get('/posts/{post}', [PostController::class, 'show'])->name('posts.show');
Route::get('/posts/{post}/edit', [PostController::class, 'edit'])->name('posts.edit');
Route::put('/posts/{post}', [PostController::class, 'update'])->name('posts.update');
Route::delete('/posts/{post}', [PostController::class, 'destroy'])->name('posts.destroy');
Route::get('/posts/pending', [PostController::class, 'pending'])->name('posts.pending');

 

Exemplo 2: posts/pending inserida no meio das rotas

Route::get('/posts', [PostController::class, 'index'])->name('posts.index');
Route::get('/posts/create', [PostController::class, 'create'])->name('posts.create');
Route::post('/posts', [PostController::class, 'store'])->name('posts.store');
Route::get('/posts/pending', [PostController::class, 'pending'])->name('posts.pending');
Route::get('/posts/{post}', [PostController::class, 'show'])->name('posts.show');
Route::get('/posts/{post}/edit', [PostController::class, 'edit'])->name('posts.edit');
Route::put('/posts/{post}', [PostController::class, 'update'])->name('posts.update');
Route::delete('/posts/{post}', [PostController::class, 'destroy'])->name('posts.destroy');


O exemplo 1 a rota posts/pending não funciona, aparece sempre uma tela de 404 Not Found quando clico no botão associado a essa rota para retornar uma view, e tudo está configurado corretamente (controller e chamada da view do Blade)

O exemplo 2 quando movo a rota posts/pending para o meio ou até mesmo no começo de todas as rotas, por incrível que pareça, funciona normalmente e traz a view que eu criei

Eu nunca havia passado por essa situação e gostaria de saber porque isso acontece? eu tentei olhar documentação e não encontrei nada relacionado em haver uma regra para ordenar as rotas

Manager Carlos Ferreira 31/01/2024

Olá, Alef!

Tudo bem?

 

Se definir a rota depois dessa:

Route::get('/posts/{post}', [PostController::class, 'show'])->name('posts.show');

 

Ao acessar posts/pedindo ou posts/qqcoisa vai cair nessa rota, por isso a rota de posts/peding não funciona, não se definir depois dela.

Carlos Ferreira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!