JavaWeb-22-请求响应-案例

案例

image-20230827154447499

获取员工数据,返回统一响应结果,在页面渲染展示

1. 准备工作

以下这些资料需要通过微信公众号:黑马程序员—>下载百度网盘资源获取

  • 在pom.xml文件中引入dom4j的依赖,用于解析XML文件

    image-20230827155221420

  • 引入资料中提供的解析XML的工具类XMLParserUtils、对应的实体类Emp、XML文件 emp.xml

    image-20230827155754255

  • 引入资料中提供的静态页面文件,放在resources下的static目录下

    image-20230827155915024


2. 编写Controller
  • 编写Controller程序,处理请求,响应数据

    • EmpController类:

      package com.app.controller;
      
      import com.app.pojo.Emp;
      import com.app.pojo.Result;
      import com.app.uitls.XmlParserUtils;
      import org.springframework.web.bind.annotation.RequestMapping;
      import org.springframework.web.bind.annotation.RestController;
      
      import java.util.List;
      
      @RestController
      public class EmpController {
          @RequestMapping("/listEmp")
          public Result listEmp(){
              //这样获取emp.xml的磁盘路径写法是死的,如果文件转移就找不到了
              //String file = "E:\\JavaDevelop\\idea_workspace\\web_project\\springboot-web-req-resp\\src\\main\\resources\\emp.xml"
      
              //1. 解析xml文件
              //动态获取emp.xml的磁盘路径
              String file = this.getClass().getClassLoader().getResource("emp.xml").getFile();
              System.out.println(file);
              //解析xml文件
              List<Emp> empList = XmlParserUtils.parse(file, Emp.class);
      
              //2. 处理转换数据
              empList.forEach(emp -> {
                  //(1)处理性别gender:
                  //获取当前用户性别数据
                  String gender = emp.getGender();
                  //如果为1,则重新将该用户的性别赋值为:男
                  if ("1".equals(gender)){
                      emp.setGender("男");
                  } else if ("2".equals(gender)) {
                      //如果为2,则赋值为:女
                      emp.setGender("女");
                  }
      
                  //(2)处理职位job:
                  //获取当前用户职位数据
                  String job = emp.getJob();
                  //如果为1,则重新将该用户的职位赋值为:讲师
                  if ("1".equals(job)){
                      emp.setJob("讲师");
                  } else if ("2".equals(job)) {
                      //如果为2,则赋值为:班主任
                      emp.setJob("班主任");
                  } else if ("3".equals(job)) {
                      //如果为3,则赋值为:就业指导
                      emp.setJob("就业指导");
                  }
              });
      
              //3. 响应结果
              return Result.success(empList);
          }
      }
      

3. 测试

image-20230827160722471

image-20230827170944016

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值