简介
Restful就是一个资源定位及资源操作的风格。
不是标准也不是协议,只是一种风格。
基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
功能
- 资源:互联网所有的事物都可以被抽象为资源
- 资源操作:使用POST、DELETE、PUT、GET,使用不同方法对资源进行操作
- 分别对应添加、删除、修改、查询
使用步骤:
1 新建类
package com.xzzlx.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class RestfulDemo {
// 请求方式add/a=4&b=5
@RequestMapping("/add")
public String add01(int a, int b, Model model){
model.addAttribute("msg", "a + b = " + (a + b));
return "hello";
}
}
2 使用注解
在Spring MVC中可以使用@PathVariable
注解,让方法参数的值对应绑定到一个URl模板变量上
package com.xzzlx.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
public class RestfulDemo {
@RequestMapping("/add")
public String add01(int a, int b, Model model){
model.addAttribute("msg", "a + b = " + (a + b));
return "hello";
}
// @RequestMapping(value = "/add/{a}/{b}", method = RequestMethod.GET)等价于GetMapping
// 请求方式为/add/4/5
@GetMapping("/add/{a}/{b}")
public String add02(@PathVariable int a, @PathVariable int b, Model model){
model.addAttribute("msg", "a + b = " + (a + b));
return "hello";
}
}
使用RESTful操作资源︰可以通过不同的请求方式来实现不同的效果!
3 RequestMapping分解
请求地址一样,但是功能可以不同
- 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
@RequsetMapping可以分解为一下注解:
@GetMapping 等价于 @RequestMapping(value = "/add/{a}/{b}", method = RequestMethod.GET)
@PostMapping 略
@PutMapping 略
@DeletedMapping 略
@PatchMapping 略
4 总结
RestFul可以使用,也可以不用,是一种编程风格,使我们访问页面更加方便。
使用RestFul编程风格使我们项目更加简洁、安全、高效。
替代了传统的访问方式和参数赋值,变得更加简洁了。