gpt4 book ai didi

java - 405 - 请求 GET 和 POST

转载 作者:行者123 更新时间:2023-11-30 07:41:13 26 4
gpt4 key购买 nike

你好,我有更新对象的问题,我不知道如何总是在更新数据后收到消息:不支持请求方法“GET”。但是刷新对象更新后的日期。

使用 GET 和 POST 方法更新对象的 Controller

@Controller
@RequestMapping("/packet")
public class PacketController {



@GetMapping("/modify/{id}")
public String modifyPacketGet(Model model, @PathVariable Long id)
{
model.addAttribute("channels", channelService.getAllChannels());
model.addAttribute("packet", packetService.getById(id));
return "packet/modify";
}


@PostMapping("/modify")
public String modifyPacketPost(Model model, @ModelAttribute PacketDto packetDto)
{
packetService.updatePacket(packetDto);
return "redirect:/packet/modify";
}

HTML 格式

        <form th:action="@{/packet/modify}" method="post" th:object="${packet}" enctype="multipart/form-data">
<input type="text" hidden="hidden" readonly="readonly" th:field="*{id}" />
<input type="text" hidden="hidden" readonly="readonly" th:field="*{filename}" />
<div class="form-group">
<label for="name" class="h3 text-success">Name:</label>
<input id="name" type="text" th:field="*{name}" class="form-control">
</div>
<div class="form-group">
<label for="price" class="h3 text-success">Price:</label>
<input id="price" type="text" th:field="*{price}" class="form-control">
</div>
<div class="form-group">
<label for="description" class="h3 text-success">Description:</label>
<textarea class="form-control" rows="5" th:field="*{description}" id="description"></textarea>
</div>
<div class="form-group">
<label for="image" class="h3 text-success">Image:</label>
<input id="image" type="file" th:field="*{multipartFile}" accept="image/**" class="form-control">
</div>
<div class="form-group">
<label for="channel" class="h2 text-secondary">Channels:</label>
<ul class="list-inline">
<li class="list-inline-item" th:each="c : ${channels}">
<input id="channel" type="checkbox" th:field="*{channelIds}" th:value="${c.id}">
<label th:text="${c.name}"></label>
</li>
</ul>
</div>

<button type="submit" class="btn btn-success btn-lg mr-2">Add</button>
</form>

最佳答案

http 请求 GET/packet/modify 未在您的 Controller 中处理,您正在将 POST 方法重定向到该 http 请求:

        return "redirect:/packet/modify";

要解决此问题,您需要执行以下操作之一:

  1. POST 中的重定向请求更改为正在处理的端点:

         return "redirect:/packet/modify/" + packetDto.getPacketId();
  2. 或者,处理 GET 端点:

         @GetMapping("/modify/")
    public String retrievePacket(...) { ... }

希望这对您有所帮助。

关于java - 405 - 请求 GET 和 POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56203496/

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