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:
- 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']);
- 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!