1. 什么是Restful
Restful就是一个资源定位及资源操作的风格。不是标准也不是协议,只是一种风格。 基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
2. 功能
- 资源:互联网所有的事物都可以被抽象为资源
- 资源操作:使用POST、DELETE、 PUT、 GET,使用不同方法对资源进行操作。
- 分别对应添加、删除、修改、查询。
3. 传统方式操作资源
传统方式操作资源:通过不同的参数来实现不同的效果!方法单一,post和get。
- http://127.0.0.1/item/queryltem.action?id=1查询,GET
- http://127.0.0.1/item/saveltem.action新增,POST
- http://127.0.0.1/item/updateltem.action更新,POST
- http://127.0.0.1/item/ deleteltem.action?id=1删除, GET或POST
4. 使用RESTful操作资源
使用RESTful操作资源:可以通过 不同的请求方式来实现不同的效果!如下:请求地址一样,但是功能可以不同!
- http://127.0.0.1/item/1 查询,GET
- http://127.0.0.1/item 新增,POST
- http://127.0.0.1/item 更新,PUT
- http://127.0.0.1/item/1 删除,DELETE
5. 案例
- 新建一个类RestFulController类
@Controller
public class RestFulController {
}
- 在Spring MVC中可以使用@PathVariable 注解,让方法参数的值对应绑定到一个URI模板变量
@Controller
public class RestFulController {
//@RequestMapping(value = "/add/{a}/{b}",method = RequestMethod.GET)
@GetMapping("/add/{a}/{b}")
public String test1(@PathVariable int a,@PathVariable int b, Model model) {
int res = a + b;
model.addAttribute("msg","结果1为:"+res);
return "hello";
}
//@RequestMapping(value = "/add/{a}/{b}",method = RequestMethod.POST)
@PostMapping("/add/{a}/{b}")
public String test2(@PathVariable int a,@PathVariable String b, Model model) {
String res = a + b;
model.addAttribute("msg","结果2为:"+res);
return "hello";
}
}
方法级别的注解变体有如下几个:组合注解
@GetMapping
@PostMapping
@PutMapping
@DeleteMapping
@PatchMapping
内容参考:https://www.bilibili.com/video/BV1aE41167Tu
仅用于学习!