您的位置:首页 > 编程语言 > Java开发

SpringMvc笔记-对RESTFUL风格的配置

2017-04-08 23:33 465 查看
1.@RequestMapping注解可以使用如下参数:

    1,params:例如params={'username',"age!=100"}表示需要usernmame并且age 属性不能等于100

    2. headers:为请求头 确定他的请求头是啥的时候才能访问headers={"Accept-lanuage=us,ZN"}

2.@PathVariable("id")实现REST风格的一步,可以将目标方法的参数中

@GetMapping("/test/{id}")
public String test(@PathVariable("id") String id){
return null;
}


3.REST风格中的POST,GET,DELETE,PUT请求

GET和POST请求自带有这个功能

主要是DELETE和PUT请求

SpringMVC中在3.0后已经支持了Restful风格了。

具体一下几步:

1.配置web.xml中的拦截器

<!--用于对RESTful风格的拦截器 -->
<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.编写对应的请求方式

package cn.lonecloud.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
/**
* 对RestFul的支持
* @Title: RestController.java
* @Package cn.lonecloud.controller
* @Description:
* @author lonecloud
* @date 2017年4月9日 上午10:47:47
*/
@RequestMapping("/rest")
@Controller
public class RestController{

@RequestMapping(value="/testRest/{id}",method=RequestMethod.DELETE)
public String RestDelete(@PathVariable("id")String id){
System.out.println("delete"+id);
return "list";
}
@RequestMapping(value="/testRest/{id}",method=RequestMethod.GET)
public String RestGET(@PathVariable("id")String id){
System.out.println("get"+id);
return "list";
}
@RequestMapping(value="/testRest/{id}",method=RequestMethod.PUT)
public String RestPUT(@PathVariable("id")String id){
System.out.println("put"+id);
return "list";
}
@RequestMapping(value="/testRest/{id}",method=RequestMethod.POST)
public String RestPOST(@PathVariable("id")String id){
System.out.println("post"+id);
return "list";
}
@RequestMapping(value="/testRest/",method=RequestMethod.GET)
public String RestPOST(){
return "list";
}
}


3.对链接进行POST请求在POST请求中携带隐藏域参数name="_method" value="DELETE/PUT"请求的input框即可

完整代码:

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: