首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何处理“不支持请求方法'GET‘”的错误

如何处理“不支持请求方法'GET‘”的错误
EN

Stack Overflow用户
提问于 2012-08-31 04:04:20
回答 2查看 2.6K关注 0票数 0

我想实现从列表视图中删除实体。我遇到了这个问题。你能给我解释一下,问题出在哪里吗?我该怎么解决?

控制器方法:

代码语言:javascript
运行
复制
@RequestMapping(value = "/deleteComment/{commentId}", method = RequestMethod.POST)
public String deleteComment(@PathVariable int commentId, BindingResult result, Model model){
{
    Comment deletedComment = commentService.findCommentByID(commentId);
    if (deletedComment != null) {
         commentService.deleteComment(deletedComment);
    }

     return "refresh:";
}

如果我在处理列表视图(并且我看到了整个列表),我需要指定'Get‘方法吗?如果我需要,我应该把什么代码放在那里。我没有任何想法。

EN

回答 2

Stack Overflow用户

发布于 2012-12-09 07:24:28

问题出在按钮类型属性中。

如果你有超文本标记语言按钮type="submit",那么你的服务只能是RequestMethod.GET。当你切换到RequestMethod.POST时,你会看到“请求方法'GET‘不受支持”。

解决方案:将按钮标记中的属性更改为type="button"

票数 2
EN

Stack Overflow用户

发布于 2012-08-31 04:15:06

通过指定method = RequestMethod.POST,您实际上表示应该只为POST和路径/deleteComment/{commentId}调用deleteComment方法。如果你想让它也接受GET的请求,你可以移除这个方法,或者也可以这样接受GET:

代码语言:javascript
运行
复制
@RequestMapping(value = "/deleteComment/{commentId}", method = {RequestMethod.POST, RequestMethod.GET})

您可能还希望以这种方式显式指定要绑定到commentId path变量的变量的名称:

代码语言:javascript
运行
复制
public String deleteComment(@PathVariable("commentId") int commentId, BindingResult result, Model model){
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12204625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档