SpringMVC-05-RestFul风格
概述
Restful是一个资源定位以及资源操作的风格,不是标准也不是协议,只是一种风格,基于该风格设计的软件更加简洁,更加具有层次感,更加易于实现缓存等机制
比如
http://localhost:8080/method?add=1&..&....&...&
变成
http://localhost:8080/method/add/1/2/..../.../
功能
- 资源:互联网所有的事物都可以抽象为资源
- 资源操作:使用POST,DELETE,PUT,GET使用不同的方法对资源进行操作,分别对应增,删,改,查
示例
普通风格
@Controller
public class ControllerRestFul {
@RequestMapping("/add")
public String normal(int a, int b, Model model){
int res = a+b;
model.addAttribute("msg",res);
return "style";
}
}
url:http://localhost:8080/add?a=1&b=2
RestFul风格
@Controller
public class ControllerRestFul {
@RequestMapping("/add/{a}/{b}")
public String restful(@PathVariable int a,@PathVariable int b, Model model){
int res = a+b;
model.addAttribute("msg",res);
return "style";
}
}
url:http://localhost:8080/add/1/2
url可复用
通过指定方法类型,使得同一个url得以复用
@RequestMapping(value = "/add/{a}/{b}",method = RequestMethod.POST)
@RequestMapping(value = "/add/{a}/{b}",method = RequestMethod.GET)
...
或者使用变体注解精简
@GetMapping
@PostMapping
@DeleteMapping
@PostMapping
为什么使用RestFul风格
- 精简,风格简单
- 高效,支持缓存
- 安全,参数隐蔽