1
resposta

Problema na API - Retornando erro 500

Estou tendo erro na hora de rodar o código

api.php

<?php

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

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

Route::apiResource('/series', \App\Http\Controllers\Api\SeriesController::class);



SeriesController.php
<?php

namespace App\Http\Controllers\Api;

use App\Http\Controllers\Controller;
use App\Http\Requests\SeriesFormRequest;
use App\Models\Series;
use App\Repositories\SeriesRepository;
use Illuminate\Http\Request;

class SeriesController extends Controller
{
    public function __construct(private SeriesRepository $seriesRepository)
    {
    }

    public function index()
    {
        return Series::all();
    }

    public function store(SeriesFormRequest $request)
    {
        return response()
            ->json($this->seriesRepository->add($request), 201);
    }

    public function show(Series $series)
    {
        return $series;
    }

    public function update(Series $series, SeriesFormRequest $request)
    {
        $series->fill($request->all());
        $series->save();

        return $series;
    }

    public function destroy(int $series)
    {
        Series::destroy($series);
        return response()->noContent();
    }
}

No console do navegador o resultado é: "GET http://127.0.0.1:8000/api/series 500 (Internal Server Error)".

Estou seguindo diretinho as aulas do Vinicius e estou tendo muita dificuldade, em praticamente todas as aulas tenho que chamar alguém para me ajudar, pois o código dá algum problema.

1 resposta

Oi Karina! Tudo bem?

O erro 500 nesse contexto pode ser bem genérico e difícil de diagnosticar, mas não se preocupe, vamos tentar algumas abordagens para identificar e resolver o problema.

  1. Verifique o Log de Erros: O primeiro passo é verificar o arquivo de log do Laravel. Ele geralmente está localizado em storage/logs/laravel.log. Veja se há alguma mensagem de erro específica lá que possa indicar o que está causando o problema.

  2. Debugging Básico: adicione alguns logs ou dd() (dump and die) no seu código para ver onde ele pode estar falhando. Por exemplo, você pode adicionar um dd('index method'); no início do método index do seu SeriesController para ver se ele está sendo chamado corretamente.

  3. Verifique o Repositório: avalie se o SeriesRepository está implementado corretamente e que o método add está funcionando como esperado. Um erro dentro do repositório poderia causar um erro 500.

Caso nenhuma dessas sugestões lhe ajude a resolver o problema, peço que compartilhe todo o projeto, para que assim eu possa fazer testes. Use o GitHub ou Drive do Google como meio de envio.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.