一.概念
RestFul风格就是一个资源定位及资源操作风格。不是标准,也不是协议,只是一种风格。基于这个风格设计的软件可以更加简洁,更易于实现缓存等机制。
功能:
- 资源:互联网万物都可以抽象称为资源
- 资源操作:使用POST,GET,PUT,DELETE,使用不同的方法对资源进行操作
- 分别对应添加,删除,修改,查询
传统的资源操作:通过不同的参数来实现不同的效果!方法单一,post和get
- http://127.0.0.1/item/queryltem.action?id=1 查询GET
- http://127.0.0.1/item/servlettem.action? 新增POST
使用RestFul风格来操作资源:可以通过不同的请求方式来实现不同的效果!如下:请求地址一样,但是功能可以不同!
- http://127.0.0.1/item/1 查询,GET
- http://127.0.0.1/item 新增,Post
区别记忆:(GET)
普通风格:
请求路径:http://localhost:8080/add?a=1&b=2
RestFul风格:
在springMVC中可以使用@PathVariable注解,让方法参数的值对应绑定到一个URL模板变量上
@Controller
public class controllerTest4 {
//访问映射路径
@RequestMapping("/add/{a}/{b}")
public String test(@PathVariable int a,@PathVariable int b, Model model){
model.addAttribute("msf","结果为:"+a+b);
return "msf";
}
}
请求路径:http://localhost:8080/add/2/3
拓展:RequestMapping的请求方式是GET,我们也可以对其进行更改 其它的请求处理方式:POST,PUT,DELETE
@RequestMapping(value = "/add/{a}/{b}",method = RequestMethod.POST)
这样描述了以后,我们的请求处理方式就变成POST了,但是一般我们的开发不这么用,因为这里我们也有细化的注解。
@GetMapping("/add/{a}/{b}")
@PostMapping("/add/{a}/{b}")
这样更换请求方式就更简化了,也好用,所以一般还是用注解开发。
一般我们使用的注解变体有以下几个:
@GetMapping
@PostMapping
@PutMapping
@DeleteMapping
@PatchMapping
补充:SpringMVC的请求和转发
当我们有视图解析器的时候默认的return就是转发,
当我们需要重定向的时候;可以return "redirect:/index.jsp" 重定向地址栏
区别:转发地址栏不会显示路径,重定向地址栏会显示路径