Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

MABS's avatar
Level 1

API Routes with method GET returning 404

Hi im working in a shcool project that i have to develop a mysql API. For that i have chosen Laravel 8.4. In my api.php i defined all the routes and for some reason all my get routes that dont require a argument return 404 except the index routes in the resources, that only started happening some time ago.


use App\Http\Controllers\CategoriaController;
use App\Http\Controllers\ComparticipacaoController;
use App\Http\Controllers\DocenteController;
use App\Http\Controllers\HoraComparticipacaoController;
use App\Http\Controllers\HoraController;
use App\Http\Controllers\PremioComparticipacaoController;
use App\Http\Controllers\PremioController;
use App\Models\Categoria;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
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::get('totalabc',function (){
    return response(1);
});

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

Route::resource('docente', DocenteController::class)->only([
    'index', 'store','show','update','destroy'
]);

Route::resource('categoria', CategoriaController::class)->only([
    'index', 'store', 'show', 'update', 'destroy'
]);

Route::resource('hora', HoraController::class)->only([
    'index', 'store', 'show', 'update', 'destroy'
]);

Route::resource('comparticipacao', ComparticipacaoController::class)->only([
    'index', 'store', 'show', 'update', 'destroy'
]);

Route::resource('premio', PremioController::class)->only([
    'index', 'store', 'show', 'update', 'destroy'
]);

Route::resource('horacomparticipacao', HoraComparticipacaoController::class)->only([
    'store', 'index'
]);


Route::post('horacomparticipacao/update', [HoraComparticipacaoController::class, 'update']);
Route::delete('horacomparticipacao/delete/{idComparticipacao}/{idhora}', [HoraComparticipacaoController::class, 'destroy']);

Route::resource('premiocomparticipacao', PremioComparticipacaoController::class)->only([
    'store', 'index'
]);
Route::post('premiocomparticipacao/update', [PremioComparticipacaoController::class, 'update']);
Route::delete('premiocomparticipacao/delete/{idComparticipacao}/{idPremio}', [PremioComparticipacaoController::class, 'destroy']);


//Horas de um docente
Route::get('docente/{id}/horas', [DocenteController::class, 'horas'] );

//Premios de um docente
Route::get('docente/{id}/premios', [DocenteController::class, 'premios']);

//Comparticipações de um docente
Route::get('docente/{id}/comparticipacoes', [DocenteController::class, 'comparticipacoesDocente']);

//Comparticipacoes aprovadas de um docente
Route::get('docente/{id}/comparticipacoesaprovadas', [DocenteController::class, 'comparticipacaoesAprovadas']);

//Média de valores atribuídos em premios por docentes em cada ano
Route::get('premio/mediaano/{ano}', [PremioController::class, 'mediaAno']);









//Total Valor Atribúido em premios
//Route::get('premio/totalpremio', [PremioController::class, 'total']);
Route::get('premio/totalpremio', 'PremioController@total');

//Qtd Premios
Route::get('premio/qtd', [PremioController::class, 'qtdPremio']);

//Qtd Comparticipacoes
Route::get('comparticipacao/qtd', [ComparticipacaoController::class, 'qtdComparticipacao']);

//Total Valor Comparticipado
Route::get('comparticipacao/total', [ComparticipacaoController::class, 'total']);

//Média da percentagem de valor comparticipado
Route::get('comparticipacao/mediacomparticipacao', [ComparticipacaoController::class, 'media']);

//Valor de Premios/Horas usadas numa comparticipação
Route::get('comparticipacao/{id}/premioshoras', [ComparticipacaoController::class, 'premiosHoras']);

//Comparticipações em que foram gastas Horas
Route::get('comparticipacao/gastohoras', [ComparticipacaoController::class, 'gastoHoras']);

//Comparticipações em que foram gastos prémios
Route::get('premio/gastopremios', [PremioComparticipacaoController::class, 'gastoPremios']);









0 likes
2 replies
automica's avatar

@mabs can you post an example url of one of the routes that fail.

If you run php artisan route:list does your failing route appear there?

Please or to participate in this conversation.