发表于: 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假数据的方法。


返回列表 返回列表
评论

    分享到