SpringMVC-02-RESTful 风格
RestFul是一个资源定位及资源操作的风格。不是标准也不是协议,只是一种风格。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
优点:简单(地址栏没有之前那么繁琐和多了)
, 高效 (支持缓存)
安全(地址栏里面隐藏了一些程序的东西)
- 资源操作:使用POST、DELETE、PUT、GET使用不同方法对资源进行操作
- 分别对应添加、删除、修改、查询
附加:get和post的区别:
get是不安全的,post是安全的,
get的数据在url中对所有人是可见的,post的url中不会显示数据
get是可以缓存的,post是不可以缓存的
get的url中数据的长度是受限制的,2048个字符,而post的url是不受限制的
传统方式操作资源:通过不同的参数来实现不同的效果!方法单一,post和get
使用RestFul操作资源:可以通过不同的请求方式来实现不同的效果!如下:请求地址一样,但是功能可以不同!
http://127.0.0.1/demo/1 查询GET
http://127.0.0.1/demo 新增POST
http://127.0.0.1/demo 更新PUT
http://127.0.0.1/demo/1 删除DELETE
组合注解
@GetMapping
@PostMapping
@PutMapping
@DeleteMapping
这四个是一个组合注解
@GetMapping相当于 @RequestMapping(value = "/employees", method = RequestMethod.GET)
demo
在Spring MVC 中可以使用@PathVariable注解,放方法参数的值对应绑定到一个URL模板变量上。
@Controller
public class RestFulController {
//@GetMapping和@RequestMapping方法等同,都是映射访问路径
//@GetMapping("/add/{a}/{b}")
@RequestMapping(value = "/commit/{a}/{b}",method = RequestMethod.GET)
public class RestFulController {
//@GetMapping和@RequestMapping方法等同,都是映射访问路径
//@GetMapping("/add/{a}/{b}")
@RequestMapping(value = "/commit/{a}/{b}",method = RequestMethod.GET)
public String addTest2(@PathVariable int a, @PathVariable int b, Model model){
int res = a + b;
//springMVC会自动实例化一个Moder对象用于向视图中传值
model.addAttribute("msg","结果:"+res);
//返回视图位置:test.jsp页面
return "test";
}
}
int res = a + b;
//springMVC会自动实例化一个Moder对象用于向视图中传值
model.addAttribute("msg","结果:"+res);
//返回视图位置:test.jsp页面
return "test";
}
}