gpt4 book ai didi

java - 为什么在 Controller 中使用 @GetMapping 而不是 @DeleteMapping 进行删除工作?

转载 作者:行者123 更新时间:2023-12-02 02:25:45 26 4
gpt4 key购买 nike

我有一个简单的网络应用程序,显示带有添加和删除按钮的学生列表,如下所示: enter image description here

index.html - 表格

<tr th:each="student : ${students}">
<td th:text="${student.firstName} + ' ' + ${student.lastName}"></td>
<td th:text="${student.email}"></td>
<td th:text="${student.department}"></td>
<td><a th:href="@{/delete/{id}(id=${student.id})}" class="btn btn-danger">Delete</a></td>
</tr>

IndexController.java - 用于删除

@GetMapping("/delete/{id}")
public String deleteStudent(@PathVariable Long id)
{
studentService.deleteStudentById(id);
return "redirect:/";
}

我的问题 - 为什么我的 Controller 中必须是 @GetMapping 才能使用 www 页面上的“删除”按钮删除学生?当我有 @DeleteMapping 时(我认为应该如此),我无法使用 www 页面上的“删除”按钮删除学生。执行此操作时出现 405 错误,但通过选择删除方法的 Postman,我可以将其删除。

最佳答案

@DeleteMapping 注解需要一个th: method = "delete" 才能工作。

<td>
<form th: action = "@ {/delete/{id}(id=${student.id})}" th: method = "delete" >
<input class = "btn btn-default btn-xs" type = "submit" = Valeur "Supprimer" />
</ form>
</td>

关于java - 为什么在 Controller 中使用 @GetMapping 而不是 @DeleteMapping 进行删除工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57254807/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com