发表于: 2020-07-01 22:36:13
1 1730
今天完成的事情:
使用jackson生成假数据给crud接口测试。
这个类是包含了jackson最常用的readValue()和writeValueAsString()这两个方法,主要用来对实体类和json数据的互相转换。
ObjectMapper mapper=new ObjectMapper();
readValue()用来转换客户端传来的json数据为实体类。
用法: mapper.readValue(json数据,实体类名字.class);
writeValueAsString()方法是将实体类转换成json数据
用法:Student s=new Student;
mapper.writeValueAsString(s);
增接口测试
发出请求
返回的信息
代码
@RequestMapping(value = "/student",method = RequestMethod.POST,consumes = "application/json")
public @ResponseBody String setJson(@RequestBody Student student) throws IOException {
ObjectMapper mapper=new ObjectMapper();
//用Map接收数据
studentMap.put(student.getId(),student);
System.out.println(studentMap.toString());
查接口:
@RequestMapping(value = "/student/{id}" ,method = RequestMethod.GET,consumes = "application/json")
public @ResponseBody String getJson(@PathVariable Integer id) throws JsonProcessingException {
ObjectMapper mapper=new ObjectMapper();
//从studentMap取出对应的Student给客户端
String result=mapper.writeValueAsString(studentMap.get(id));
return result;
}
改接口:
@RequestMapping(value = "/student/{id}/{target}" ,method = RequestMethod.PUT,consumes = "application/json")
public @ResponseBody String updateJson(@PathVariable Integer id,@PathVariable String target) throws JsonProcessingException {
ObjectMapper mapper=new ObjectMapper();
Student student=studentMap.get(id);
student.setName(target);
Message message = new Message();
//如果修改的值和当前的值一样返回成功的消息和响应码
if(target.equals(student.getName())) {
message.setMessage("修改学生资料成功");
message.setCode(200);
}
return mapper.writeValueAsString(message);
修改成功
删除接口:
@RequestMapping(value = "/student/{id}" ,method = RequestMethod.DELETE,consumes = "application/json")
public @ResponseBody String updateJson(@PathVariable Integer id) throws JsonProcessingException {
ObjectMapper mapper=new ObjectMapper();
studentMap.remove(id);
Message message=new Message();
//如果map集合没有key=2的值就发送成功消息和响应码
if(!studentMap.containsKey(id)) {
message.setMessage("删除学生资料成功");
message.setCode(200);
}
return mapper.writeValueAsString(message);
}
明天计划的事情:
- 6.在服务器开发环境部署Resin,用"document-directory"的方式配置好War包,用浏览器访问任意查询接口,判断是否可以正确返回数据
- 7.用Tomcat,Jetty分别重复以上的部署方式,弄清楚三者之间的差别
- 8.配置好Resin,Tomcat,Jetty的Access.log(不同的WEB服务器的访问日志命名有区别),列出来每一个请求的响应时间,以MS为单位
- 9.修改Resin的内存配置,给当前的WEB程序分别设置1G内存,512兆内存,32兆内存,测试最小启动的大小。
- 10.用Top命令查看WEB程序的进程号,用Kill 命令 杀掉WEB进程(注意别用错了,如果杀掉了别人的进程,你大概就会被人杀掉)
遇到的问题:null
收获:了解了jackson和spirngmvc注解搭配一起生成json假数据的方法。
评论