gpt4 book ai didi

不允许 Java DeleteMapping 方法

转载 作者:行者123 更新时间:2023-11-30 05:19:39 25 4
gpt4 key购买 nike

我正在尝试创建一个API来从存储中删除某个ID;这是我的代码。

API Controller :

@DeleteMapping("{cId}")
@ResponseStatus(HttpStatus.OK)
public String delete(@PathVariable String cId) {
compareService.delete(cId);

return "redirect:/compare";
}

服务:

public void delete(String cId) {
compareLogic.delete(cId);
}

逻辑:

 public void delete(String cId){
System.out.println("A: " + sessionModel.getCIds());
List<String> update = sessionModel.getCIds();
update.remove(new String(cId));
System.out.println("B: " + sessionModel.getCIds());
}

但是当我执行 api 时它会显示

{
success: false,
warning: false,
error: "405",
error_description: "Method Not Allowed"
}

光看代码有什么可能的原因吗?非常感谢,

最佳答案

只是我厌倦了简单的代码片段,您能否尝试理解并(也尝试遵循我的建议)

当您从浏览器端(从地址栏)点击时,它不适用于 POST/PUT/DELETE 调用,如果您尝试在地址栏中输入,它实际上是在浏览器中运行的如果是 GET 请求则不支持其他格式

只是我添加了两张我已经厌倦了 Browser 和 PostMan 的屏幕截图

首先我已经厌倦了 POSTMAN(它工作得很好)

enter image description here

第二,我厌倦了浏览器(它会抛出不支持的错误)异常(exception))

enter image description here

我厌倦了小代码片段,只需从代码中复制并从列表中删除元素

@DeleteMapping("{cId}")
public String delete(@PathVariable String cId) {
List<String> arr=new ArrayList<String>(3);
arr.add("A");
arr.add("B");
arr.add("C");
arr.remove(cId);
for (String string : arr) {
System.out.println(string);
}

return "redirect:/compare";
}

关于不允许 Java DeleteMapping 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59764639/

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