1.作用
rest是一种设计API的模式设计。最常用的数据格式是json,由于json能够被javascript使用,在前后端分离的项目上测试十分好用
2.使用
GET/zoos :列出所有动物园(查询所有)
POST/zoos: 新建一个动物园(添加)
GET/zoos/{id}:获取指定某个动物园的信息
PUT/zoos/{id} :更新某个动物园的信息
PATCH/zoos/{id}:更新某个指定动物园的信息
DELETE/zoos/{id}:更新某个指定动物园的信息
GET/zoos/{id}/animals:列出某个指定动物园的所有动物
3.相关注解
1.@restcontroller
由@controller和@responseBody组成
告诉controller层这个类使用的是ajax方式提交数据
2.@pathvariable
通过注解可将url中占位符参数绑定到访问页面时候问号前边的参数
例如
@GetMapping("/{id}/{username}")
public Employee get(@PathVariable Long id,@PathVariable("username") String name)
访问地址为localhost:端口号/路径名/id/username…
3.@requestMapping(都可以访问)
@getMapping(get方式请求)
@postMapping(post方式请求)
@putMapping (put方式请求)更新
@DeleteMapping(删除)
@patchMapping(更新一个)
4.RequestMapping标签的属性
1.params:限定要处理请求的参数,只有匹配该参数的请求,才会被方法处理
@PostMapping(value = "name",headers = "token")
使用参数之后。需要加headers属性才可以有权限访问数据
5.使用ajax来进行测试
在controller层和使用ajax进行测试的区别,controller访问的是动态资源
ajax访问的是静态资源,可以获取传递的数据,访问页面始终是一个,具体传值的内容在js中写
由于使用的是jquery,使用时需要先使用插件
$.get("/employees/1/maomao",null,function (data) {
$("#app").html(data.name);
});
访问的是employees的id为1,name为maomao的具体信息
$.ajax({
url:"/employees/100",
data:null,
success:function (data) {
$("#app").html("delete "+data.msg);
},
method:"delete",
});
由于ajax简写的方法只有get和post,使用其他类型的方法需要自己写的更具体
@PostMapping(value = "name",headers = "token")
public ResultBean<Employee> save(){
System.out.println("save");
Employee emp2 = new Employee();
emp2.setId(10L);
emp2.setName("mao10");
return ResultBean.success(emp2);
}
由于前端传数据,后端需要由接受的
$.ajax({
url:"/employees",
data:{name:"maomaocong"},
beforeSend: function(request) {
request.setRequestHeader("token", "ab9ef204-3253-49d4-b229-3cc2383480a6");
},
success:function (data) {
console.log(data);
$("#app").html("save:"+data.data.name);
},
method:"post"
});