开发者社区> 问答> 正文

springmvc 验证 REST风格的get,post,put,dele?400报错

问题是这样的,写了一个springmvc的简单框架,然后写了REST来验证,
用的服务器是tomcat7,  验证get,put,delete都正常,但是令人无语的是,
发起Post请求的时候页面却报错了

为了保证能发现问题,下面我展出我的配置,前端请求以及后端

<filter>
      <filter-name>HiddenHttpMethodFilter</filter-name>
        <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>HiddenHttpMethodFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

前端请求界面

<form action="springmvc/testDELETE/1" method="post">
        <input type="hidden" name="_method" value="DELETE"/>
        <input type="submit" value="Test RESTDELETE"/>
    </form> 
    <br><br>
    <form action="springmvc/testPUT/1" method="post">
        <input type="hidden" name="_method" value="PUT"/>
        <input type="submit" value="Test RESTPUT"/>
    </form>
    <br><br>
    <form action="springmvc/testPOST" method="post">
        
        <input type="submit" value="Test RESTPOST"/>
    </form>
    <br><br>
    <a RESTGET</a><!-- 默认是get请求 -->


    后端代码
  

  @RequestMapping(value="/testGET/{id}",method=RequestMethod.GET)//查询
    public String testGET(@PathVariable("id")Integer id) {
        System.out.println("testGET:"+id);
        return "success";
    }
    
    
    @RequestMapping(value="/testPOST",method=RequestMethod.POST)//新增
    public String testPOST() {
        return "success";
    }
    
    @RequestMapping(value="/testPUT/{id}",method=RequestMethod.PUT)//修改
    public String testPUT(@PathVariable("id")Integer id) {
        System.out.println("testPUT:"+id);
        return "success";
    }
    
    @RequestMapping(value="/testDELETE/{id}",method=RequestMethod.DELETE)//删除
    public String testDELETE(@PathVariable("id")Integer id) {
        System.out.println("testDELETE:"+id);
        return "success";
    }


    后面重点说明,get,put,delete 在tomcat7服务器中均成功验证,只有post请求失败,

   确认就是在点击发起post请求的时候出现的问题,也是本人纳闷的地方,为什么命名发起的post请求,却显示不支持get请求,
求问原因

```
 
```


 

展开
收起
爱吃鱼的程序员 2020-06-07 17:40:43 571 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB
                        当然不对了,你的post路径不对 
                    
    
                            谢谢找到问题了,是最后的转发文件的路径写的有问题,谢谢提醒
                        
    
                            你的路径不对,你有个参数,后面没接收,路径不对 
                        
    
                            我的类上面也有一个@RequestMapping("/springmvc")的
                        
    
                        自己写的mvc框架? 
                    
    
                            spring只有springmvc,哪有spring webmvc 
                        
    
                            用的是spring 里面的spring webmvc
    
    2020-06-07 17:40:53
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载