物联网云平台-作业2

1.创建Device实体类

import lombok.*;
import java.io.Serializable;
@Data
@AllArgsConstructor
public class Device implements Serializable {
    private String devName;
    private Integer devID;
    private String image;
    private String userName;
    private String devState;
}

创建DeviceService接口 并声明两个方法

一个用于读取并解析xml文件,一个用于状态转换

import com.baomidou.mybatisplus.extension.service.IService;
import com.marcel.iotplatform.pojo.Device;
import java.util.List;

public interface DeviceService extends IService<Device> {
    List<Device> getXml(String file);
    List<Device> transferState(List<Device> devList);
}

创建DeviceServiceImpl实现类 并实现接口中声明的方法

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.marcel.iotplatform.Mapper.DeviceMapper;
import com.marcel.iotplatform.Service.DeviceService;
import com.marcel.iotplatform.Utils.XmlParserUtils;
import com.marcel.iotplatform.pojo.Device;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> implements DeviceService {
    @Override
    public List<Device> getXml(String url) {
        String file=this.getClass().getClassLoader().getResource(url).getFile();
        return XmlParserUtils.parse(file, Device.class);
    }

    @Override
    public List<Device> transferState(List<Device> devList) {
        devList.stream().forEach(dev -> {
            //处理 DevState 1: 开, 0: 关
            String state = dev.getDevState();
            if("1".equals(state)){
                dev.setDevState("开");
            }else if("0".equals(state)){
                dev.setDevState("关");
            }
        });
        return devList;
    }
}

在DeviceController中@Autowired DeviceService 即可调用xml解析和状态转换方法

import com.marcel.iotplatform.Common.Result;
import com.marcel.iotplatform.Service.DeviceService;
import com.marcel.iotplatform.Utils.XmlParserUtils;
import com.marcel.iotplatform.pojo.Device;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
@RestController
@RequestMapping("/hw2")
public class DeviceController {
        @Autowired
        private DeviceService deviceService;
        @GetMapping("/listDev")
        public Result list(){
            List<Device> devList = deviceService.getXml("devices.xml");
            devList=deviceService.transferState(devList);
            return Result.success(devList);
        }
    }

运行SpringBoot项目 打开浏览器 转到localhost:8080/dev.html

前端页面成功显示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Marcel7481

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值