下面为一个请求响应案例,postman发送请求,服务器响应将一个xml文件中的数据通过读取解析,将其用Result类标准的格式返回前端,在前端用json的方式显示
后端Controller代码
1、通过本类的字节码文件得到类加载器并寻找到需要解析的xml文件,Emp类是一个封装好的员工对象类,将这个xml文件按照Emp类的格式解析,最后以一个装着Emp类的对象的集合返回,对象相关的属性就是xml文件里被解析的属性。
2、因为xml文件中是用1,2来表示男女性别的,所以在emplist集合中需要将里面的性别进行修改,于是通过stream流将每一个集合里的emp对象取出,如果emp.gender是1的话,就将其属性值修改为男,否则修改为女。工作职位类似。
3、最后将通过stream流修改了的emplist集合通过Result类进行规范返回,这就是后端控制类的实际步骤
package com.itazhang.demos.web;
import com.itazhang.pojo.Emp;
import com.itazhang.pojo.Result;
import com.itazhang.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(){
//编码并解析emp.xml文件
String file = this.getClass().getClassLoader().getResource("emp.xml").getFile();
List<Emp> emplist = XmlParserUtils.parse(file, Emp.class);
//对数据进行转换处理
emplist.stream().forEach(emp -> {
//处理性别返回
String gender = emp.getGender();
if("1".equals(gender)){
emp.setGender("男");
}else{
emp.setGender("女");
}
String job = emp.getJob();
if("1".equals(job)){
emp.setJob("讲师");
}else if("2".equals(job)){
emp.setJob("班主任");
}else if("3".equals(job)){
emp.setJob("就业制导");
}
});
//响应数据
return Result.success(emplist);
}
}
前端postman在通过请求后获取到的数据
上述就是一个简单的前端请求,后端响应的一个小案例,前端发送请求,后端通过对本地xml文件的解析将xml文件中的属性通过创建实体类对象的方式将属性值赋给对象,且最后将对象存入集合中,将集合作为return的值响应给前端。
打开文件中的html页面显示如下,这时就将所有的数据显示在了网页前端上