web第七次课后作业--springbootWeb响应

统一的响应结果

cpp 复制代码
package org.example.spring_test3.pojo;

public class Result {
    private Integer code ;//1 成功 , 0 失败
    private String msg; //提示信息
    private Object data; //数据 date

    public Result() {
    }
    public Result(Integer code, String msg, Object data) {
        this.code = code;
        this.msg = msg;
        this.data = data;
    }
    public Integer getCode() {
        return code;
    }
    public void setCode(Integer code) {
        this.code = code;
    }
    public String getMsg() {
        return msg;
    }
    public void setMsg(String msg) {
        this.msg = msg;
    }
    public Object getData() {
        return data;
    }
    public void setData(Object data) {
        this.data = data;
    }
    public static Result success(Object data){
        return new Result(1, "success", data);
    }
    public static Result success(){
        return new Result(1, "success", null);
    }
    public static Result error(String msg){
        return new Result(0, msg, null);
    }
}
  • 改造Controller
    注意:@RequestMapping("/******")中不能写"/hello",会与BasicController中的路径冲突,导致项目无法成功构建。
cpp 复制代码
package org.example.spring_test3.Controller;

import org.example.spring_test3.pojo.Emp;
import org.example.spring_test3.pojo.Result;
import org.example.spring_test3.utils.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 list(){
        //1. 加载并解析emp.xml
        String file = this.getClass().getClassLoader().getResource("emp.xml").getFile();
        //System.out.println(file);
        List<Emp> empList = XmlParserUtils.parse(file, Emp.class);

        //2. 对数据进行转换处理 - gender, job
        empList.stream().forEach(emp -> {
            //处理 gender 1: 男, 2: 女
            String gender = emp.getGender();
            if("1".equals(gender)){
                emp.setGender("男");
            }else if("2".equals(gender)){
                emp.setGender("女");
            }
            //处理job - 1: 讲师, 2: 班主任 , 3: 就业指导
            String job = emp.getJob();
            if("1".equals(job)){
                emp.setJob("讲师");
            }else if("2".equals(job)){
                emp.setJob("班主任");
            }else if("3".equals(job)){
                emp.setJob("就业指导");
            }
        });
        //3. 响应数据
        return Result.success(empList);
    }
}
  • 返回结果

案例

完成步骤

  1. 在pom.xml中添加依赖包
cpp 复制代码
 <dependency>
            <groupId>org.dom4j</groupId>
            <artifactId>dom4j</artifactId>
            <version>2.1.3</version>
        </dependency>
  1. 在pojo下编写Emp和Result类,在utils下编写XmlParserUtils工具类,用于解析Xml文件。
  2. 在src/main/resources 下的 static 目录下写前端页面,并在该目录下导入emp.xml。
  • 目录结构
  • 实现界面
相关推荐
七夜zippoe1 分钟前
Java技术未来展望:GraalVM、Quarkus、Helidon等新趋势探讨
java·开发语言·python·quarkus·graaivm·helidon
枫叶落雨2223 分钟前
ClassPathXmlApplicationContext
java·开发语言
草莓熊Lotso3 分钟前
【Linux 线程进阶】进程 vs 线程资源划分 + 线程控制全详解
java·linux·运维·服务器·数据库·c++·mysql
gelald10 分钟前
Spring Boot - 自动配置原理
java·spring boot·后端
hssfscv11 分钟前
软件设计师下午题六——Java的各种设计模式
java·算法·设计模式
酒鼎23 分钟前
学习笔记(12-02)事件循环 - 实战案例 —⭐
前端·javascript
希望永不加班23 分钟前
SpringBoot 集成测试:@SpringBootTest 与 MockMvc
java·spring boot·后端·log4j·集成测试
enAn_27 分钟前
对照片和视频文件名,程序追加日期,直观看
java·maven
Bigger28 分钟前
第一章:我是如何剖析 Claude Code 整体架构与启动流程的
前端·aigc·claude
yaaakaaang34 分钟前
六、适配器模式
java·适配器模式