1 axios.post 用法
HTTP请求提交方式:GET 和 POST
POST:
- 安全性更高一些,如果有密码敏感信息,建议POST
- 数据提交量超过4096kb,建议使用POST。日常开发:登录、数据新增、修改建议POST
GET:地址栏暴露提交数据,不适合敏感信息的提交
axios.post语法
==========================GET=============================
axios.get("servlet地址",{params:{name:'tom',age:12}})
.then(resp=>{})
.catch(exception=>{处理异步交互的异常})
==========================POST=============================
axios.post('servlet地址', {name:'tom',age:20})
.then(response => {
console.info(response)
})
.catch(e => { //捕获异步请求失败情况,服务器500的情况下
console.info(e)
});
axios.get和axios.post发送参数区别
axios.get(url,{params:{}}),这种参数传递时,按照querystring【格式:?key=value&key=value】向控制器发送的,所以controller里面就可以利用request.getParameter();
axios.post(url,对象)这种情况传递参数是,按照jsonstring【格式:{“key”:value,“key”:value}】,控制器 里面对于jsonstring格式无法利用传统request.getParameter()获取中。控制器只能利用jackson的反序列方案解析请求参数。
//1-1 获取请求体
BufferedReader reader = request.getReader();//读取请求体
//1-2 从reader读取字符串
StringBuilder requestBody=new StringBuilder();
String temp;
while((temp=reader.readLine())!=null){
requestBody.append(temp);
}
System.out.println("请求协议发送来的数据有:"+requestBody);
//1-3 依靠ObjectMapper将请求体传递来的jsonstring反序列化成java对象User
ObjectMapper mapper=new ObjectMapper();
Users users = mapper.readValue(requestBody.toString(), Users.class);
细节:axios.post发送参数的方式是:jsonstring,所以控制器处理jsonstring的方式是json字符串的反序列化
在java程序中,将java对象转换为json格式字符串的过程称为JSON序列化;
反之,
在java程序中,将json格式的字符串转换为java对象的过程称为JSON反序列化。
2 物业系统贯穿案例の楼栋管理
添加楼栋
BuildingDao.java和BuildingService.java代码略
building/add.html发送新增请求请求