SpringMVC 中对应的REST的四种请求方式

来源:互联网 发布:淘宝打折软件在哪里 编辑:程序博客网 时间:2024/06/04 20:08

1.首先需要在web.xml中配置一个拦截器,为

org.springframework.web.filter.HidderHttpMethodFilter:可以将POST 请求转化为DELETE 、PUT 或POST 请求

配置如下:

<!-- 配置org.springframework.web.filter.HiddenHttpMethodfilter:
其作用是将POST方式转换为POST、DELETE、PUT请求
-->
 
<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>


2.REST 四种请求方式:POST(增)、DELETE(删)、PUT(改)、GET(查)

映射前台页面:

GET:<a href="springMVC/testPathVariable/101">Test PathVariable</a>

POST:<form action="springMVC/testRestPost/101" method="post">
<input type="submit" value="TESTREST POST"/>
</form>

PUT:<form action="springMVC/testRestPut/101" method="post">
<input type="hidden" name="_method" value="PUT"/>
<input type="submit" value="TESTREST PUT"/>
    </form>


DELETE:<form action="springMVC/testRestDelete/101" method="post">
<input type="hidden" name="_method" value="DELETE"/>
<input type="submit" value="TESTREST DELETE"/>
   </form>

对应的controller 映射为:

@Controller
@RequestMapping("/springMVC")
public class SpringMVCRequestMapping {

private static final String SUCCESS="success";

@RequestMapping(value="testRestDelete/{id}",method=RequestMethod.DELETE)
public String testRestDelete(@PathVariable("id") Integer id){
System.out.println("testRestDelete:"+id);
return SUCCESS;
}

@RequestMapping(value="/testRestPut/{id}",method=RequestMethod.PUT)
public String testRestPut(@PathVariable("id") Integer id){
System.out.println("testRestPut:"+id);
return SUCCESS;
}
/**
* 测试REST风格的增,即添加一条数据
* */
@RequestMapping(value="/testRestPost/{id}",method=RequestMethod.POST)
public String testRestGet(@PathVariable("id") Integer id){

System.out.println("add one data:"+id);
return SUCCESS;
}

}

0 0
原创粉丝点击