- restful方式知识点
- 前端:vue.js
- ajax引擎
- ajax请求案例
RestFul语法:
1.用户url编辑
1.1 参数与参数之间使用/分割.
1.2 restFul结构顺序一旦确定,不能随意更改
1.3 如果使用restFul结构,请求路径中不能出现动词.隐藏目的.
2.用户规范:
由于restFul结构请求路径都是名词,所以不能区分业务逻辑.
所以采用请求类型,严格区分业务需求.
2.1 GET 查询操作
2.2 POST 新增操作/form表单提交
2.3 PUT 修改操作
2.4 DELETE 删除操作
3.参数接收
1.参数与参数之间使用/分割.
2.参数必须使用{xxx}包裹
3.使用特定的注解@PathVariable(“name”) String name 接收参数
4.如果接收参数的名称与对象中的属性名称一致,则可以使用对象接收
restful:如果参数名称与对象中的属性名称一致,可以直接用对象接收
不用使用@PathVariable(" ")注解
//URL:http://localhost:9000/user/貂蝉/18/227
//解析: URL:http://localhost:9000/user/{name}/{age}/{id}
// @GetMapping("user/{name}/{age}/{id}")
// public String updateUser(@PathVariable("name") String name,
// @PathVariable("age") Integer age,
// @PathVariable("id") Integer id){
// User user = new User();
// user.setName(name).setAge(age).setId(id);
// userService.updateUser(user);
// return "已更新";
// }
@GetMapping("user/{name}/{age}/{id}")//restful:如果参数名称与对象中的属性名称一致,可以直接用对象接收
public String updateUser(User user){
userService.updateUser(user);
return "已更新";
}
简单sql语句可以直接在mapper中使用注解方式写
package com.jt.mapper;
import com.jt.pojo.User;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import java.lang.reflect.Array;
import java.util.List;
public interface UserMapper {
List findAll();
User findById(Integer id);
User findUserByNA(User user);
List findUserLike(String name);
List findUserByIds(int[] ids);
List findUser2(User user);
// @Select("查询语句")
// @Update("更新语句")
// @Delete("删除语句")
// @Insert("新增语句")
void updateUser(User user);
}
前端:vue.js
生命周期
初始化阶段:beforeCreate,Created,beforeMount,mounted
修改更新阶段:beforeUpdate,updated
销毁阶段:beforeDestroy,destroyed
生命周期函数难点讲解(了解)
beforeCreate
官网说明: 在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用。
解析: VUE对象被JS刚解析之后,实例化成功. 内部的属性暂时都为null.
created
官方说明: 在实例创建完成后被立即调用
解析: VUE对象开始加载其中的属性和属性的值,当加载完成,对象实例化成功!!! 仅限于创建不执行业务操作.
beforeMount
官方说明: 在挂载开始之前被调用:相关的 render 函数首次被调用。
解析: vue对象中 el: “#app”, 通过app指定的ID,将指定的区域交给Vue对象进行管理.
mounted
官方说明: 实例被挂载后调用,这时 el 被新创建的 vm.$el 替换了。
解析: 当对象创建完成之后,并且指定区域开始 “渲染”,将区域中的标签/表达式进行解析加载. 当数据加载成功之后,这时mounted执行完成.这时
ajax引擎测试vue生命周期函数
ajax请求案例获取请求数据
注意后端需要加@CrossOrigin注解
作业1:根据ID查询用户信息
let url = 'http://localhost:9000/ajax/findById?id=1'
axios.get(url)
.then(function(promise){
console.log(promise.data)
})
作业2:根据age/sex查询用户信息
let url2 = 'http://localhost:9000/ajax/findByAS'
let user = {
age: 100,
sex: '男'
}
axios.get(url2,{params : user})
.then(function(promise){
console.log(promise.data)
})



