我是laravel程序员,我必须在春季开发一个大学项目。 我无法从表格中删除数据。 在laravel中,要从表中删除数据,必须创建一个表单,并且在此表单内可以传递delete方法。 我已经做了很多研究,但是示例没有显示html。
控制器:
// Delete
@DeleteMapping("/autor/deletar/{id}")
public void delete(@PathVariable("id") long id)
{
authorservice.delete(id);
}
AuthorServiceImplement
@Override
public void delete(Long id) {
repositorio.delete(repositorio.findById(id).get());
}
HTML
<a th:href="@{/autor/deletar/{id}(id=${author.id})}">
Deletar
</a>
当我尝试删除时,出现错误“不支持get方法”。我是否仍需要更改html中的任何内容,还是我的代码有问题?
答案 0 :(得分:3)
如果通过Web浏览器进行测试,则始终使用HTTP方法GET。例如,您需要使用Postman或Insomnia来发送HTTP请求。
当您使用@DeleteMapping("/autor/deletar/{id}")
时,它表示使用方法/autor/deletar/{id}
DELETE
发送HTTP请求时会调用此函数。
编辑
如果您只想通过网络浏览器对其进行测试,则始终可以将@DeleteMapping("/autor/deletar/{id}")
替换为@GetMapping("/autor/deletar/{id}")