Skip to content

Commit f48a636

Browse files
committed
delete get에서 post로 변경
1 parent 2729521 commit f48a636

File tree

6 files changed

+33
-8
lines changed

6 files changed

+33
-8
lines changed

web/src/main/kotlin/com/example/message/MessageController.kt

+1-2
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,7 @@ class MessageController(private val messageService: MessageService) {
3636

3737
}
3838

39-
//TODO GET -> POST
40-
@GetMapping("/delete/{id}")
39+
@PostMapping("/delete/{id}")
4140
fun delete(@PathVariable id: Long): String {
4241

4342
messageService.delete(id)

web/src/main/resources/templates/message.html

+14-1
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,23 @@ <h2>Message</h2>
4747
<th th:text="${message.message}"></th>
4848
<td th:text="${message.account.name}">Mark</td>
4949
<td th:text="${message.regDate}"></td>
50-
<td><a class="btn btn-default glyphicon" th:href="@{'/message/delete/' + ${message.id}}">Delete</a></td>
50+
<td><a class="btn btn-default glyphicon" th:attr="onclick=|delete_message('${message.id}')|">Delete</a></td>
5151
</tr>
5252
</tbody>
5353
</table>
54+
55+
<form role="form" th:name="delete-form" th:id="delete-form" th:action="@{/}" th:method="post">
56+
</form>
57+
<script>
58+
59+
function delete_message(id) {
60+
var form = document.getElementById("delete-form");
61+
form.action = "/message/delete/" + id;
62+
form.method = "post";
63+
form.submit();
64+
}
65+
66+
</script>
5467
</div>
5568
</body>
5669
</html>

web/src/test/kotlin/com/example/message/MessageControllerTests.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ internal class MessageControllerTests(@Autowired private val mockMvc: MockMvc) {
8282

8383
doNothing().`when`(messageService).delete(1L)
8484

85-
mockMvc.get("/message/delete/{id}", 1) {
85+
mockMvc.post("/message/delete/{id}", 1) {
8686

8787
accept = MediaType.TEXT_HTML
8888
with(csrf())

webflux/src/main/kotlin/com/example/message/MessageController.kt

+1-2
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,7 @@ class MessageController(private val messageService: MessageService) {
4141

4242
}
4343

44-
//TODO GET -> POST
45-
@GetMapping("/delete/{id}")
44+
@PostMapping("/delete/{id}")
4645
fun delete(@PathVariable id: String): Rendering {
4746

4847
return Rendering.redirectTo("/message")

webflux/src/main/resources/templates/message.html

+15-1
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,24 @@ <h2>Message</h2>
4747
<th th:text="${message.message}"></th>
4848
<td th:text="${message.account.name}">Mark</td>
4949
<td th:text="${message.regDate}"></td>
50-
<td><a class="btn btn-default glyphicon" th:href="@{'/message/delete/' + ${message.id}}">Delete</a></td>
50+
<td><a class="btn btn-default glyphicon" th:attr="onclick=|delete_message('${message.id}')|">Delete</a></td>
5151
</tr>
5252
</tbody>
5353
</table>
54+
55+
<form role="form" th:name="delete-form" th:id="delete-form" th:action="@{/}" th:method="post">
56+
</form>
57+
58+
<script>
59+
60+
function delete_message(id) {
61+
var form = document.getElementById("delete-form");
62+
form.action = "/message/delete/" + id;
63+
form.method = "post";
64+
form.submit();
65+
}
66+
67+
</script>
5468
</div>
5569
</body>
5670
</html>

webflux/src/test/kotlin/com/example/message/MessageControllerTests.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ internal class MessageControllerTests(@Autowired private val webTestClient: WebT
8888
given(messageService.findAll()).willReturn(Flux.just(Message(id = "foo", message = "test message", account = Account("wonwoo", "foo"))))
8989

9090
webTestClient.mutateWith(csrf())
91-
.get()
91+
.post()
9292
.uri("/message/delete/{id}", "foo")
9393

9494
.accept(MediaType.TEXT_HTML)

0 commit comments

Comments
 (0)