Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] método delete rest api retornando "404 | NOT FOUND"

Estou fazendo meu primeiro projeto em laravel e cheguei na parte de api e crud. Já fiz os métodos post e get, porém ao tentar fazer o delete, estou tendo problemas. Para lançar as requisições estou usando o Insomnia, para banco de dados o PostgreSQL.

Código do Controller:

public function destroy(Author $author)
    {
        $author->delete();

        return response()->noContent();
    }

Código do api.php:

Route::delete('/authors',[\App\Http\Controllers\AuthorController::class,'delete']);

No Insomnia: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Porém, ao clicar em "send" aparece o seguinte: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
solução!

Olá Fernanda!

Parece que o problema está na definição da rota para o método delete no arquivo api.php. Quando você define uma rota para a exclusão (delete) de um recurso específico, você precisa passar o parâmetro identificador desse recurso na URL. Vamos fazer algumas alterações para que a exclusão funcione corretamente:

  1. Mudar a rota para receber o ID do autor: No arquivo api.php, altere a rota para que ela receba o ID do autor que você deseja excluir. A rota deve ser assim:
Route::delete('/authors/{author}', [\App\Http\Controllers\AuthorController::class, 'destroy']);
  1. Alterar o método destroy no AuthorController: No código do AuthorController, o método destroy deve receber o ID do autor que você deseja excluir:
public function destroy(Author $author)
{
    $author->delete();

    return response()->noContent();
}

Certifique-se de que essas alterações estejam presentes no seu código e, em seguida, no Insomnia, você pode enviar uma requisição DELETE para a URL correspondente ao autor que você deseja excluir.

Por exemplo, a URL para excluir o autor com ID 1 ficaria assim:

DELETE http://sua_url/api/authors/1

Lembre-se de ajustar sua_url para a URL do seu projeto Laravel.

Ao enviar essa requisição DELETE com o ID correto do autor, ele será excluído do banco de dados PostgreSQL.

Espero que isso resolva o problema e permita que você execute a exclusão corretamente. Se surgirem mais dúvidas ou problemas, sinta-se à vontade para perguntar! Boa sorte com o seu primeiro projeto em Laravel!