❤ 作者主页:李奕赫揍小邰的博客
❀ 个人介绍:大家好,我是李奕赫!( ̄▽ ̄)~*
记得点赞、收藏、评论⭐️⭐️⭐️
认真学习!!!
Restful就是一个资源定位及资源操作的风格。不是标准也不是协议,只是一种风格。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
REST即Representational State Transfer的缩写,可译为"表现层状态转化”。REST最大的几个特点为:资源、统一接口、URI和无状态。
重点!!!它仅仅是一种风格!!
Restful风格中,资源操作都是统一接口的:
GET(SELECT):从服务器取出资源。
POST(CREATE):在服务器新建一个资源。
PUT(UPDATE):在服务器更新资源(客户端提供完整资源数据)。
PATCH(UPDATE):在服务器更新资源(客户端提供需要修改的资源数据)。
DELETE(DELETE):从服务器删除资源。
http://localhot:8080/item/select?id=1 查询 GET
http://localhot:8080/item/insert 新增 POST
http://localhot:8080/item/update 更新 POST
http://localhot:8080/item/delete?id=1 删除 DELETE
他们的地址访问都不一样,差异性大一点。
不同的方式都用对应的注解:@GetMapping、@PostMapping、@PutMapping、@DeleteMapping相当于简写了代码
@Controller
public class RESTfulController {
//传统方式:http://localhost:8080/add?a=1&b=1
@RequestMapping("add")
public String add(int a, int b , Model model){
int add1=a+b;
model.add("msg", "结果为:"+add1);
return "hello";
}
//RESTful:http://localhost:8080/add/1/1
//@RequestMapping(path = "/add/{a}/{b}",method = RequestMethod.GET)
@GetMapping(path = "/add/{a}/{b}")
@ResponseBody
public String add(@PathVariable int a, @PathVariable int b){
int add1= a+b;
return "add1结果为:"+add1;
}
访问的地址为:http://localhot:8080/add/1/1
使用@PathVariable将URL请求路径参数映射到方法参数中。
RestFul风格就是请求路径相同,但根据不同的参数、请求方式不同而执行不同的方法,产生的结果也不同。
Restful风格优点:
1、使请求路径变得更加简洁
2、传递、获取参数值更加方便,框架会自动进行类型转换
3、通过路径变量@PathVariable的类型,可以约束访问参数。
4、若参数值与定义类型不匹配,则访问不到对应的方法,报错400错误的请求。
安全,请求路径中直接传递参数值,并用斜线/分隔,不会暴露传递给方法的参数变量名。
5、高效,更易于缓存的实现,让响应更加高效。