spring boot 自动构造模拟数据
引言
现如今基于微服务架构技术开发的项目,一般会采用前后端分离的模式,该模式的好处这里就不言而喻,这里主要说说不好的地方。使用前后端分离模式来开发项目时候小编遇到的问题是(1):前后端相关开发人员在前期的设计时候已经把前后端对接的接口定义好了,但是由于后端代码逻辑没开发完致使接口不出数据,导致前端接口无法调试。(2):每次都要等后端代码开发完前端才能测试前端的业务模式类似于前后端在一定的程度上还是串行的开发,降低的项目的开发效率。(3):增加了前端相关开发人员的工作量,前端人员往往会在项目的中期等后端的接口,但是项目结尾时候往往是前端人员在对接接口并导致前端人员加班赶项目。(4):前端在整个项目开发的过程中始终承担着开发前端的任务及测试后端接口的角色。(5):项目开发完,后端接口一直不出数据导致前端接口无法对接问题,项目会出现停滞问题。
小编在项目开发的过程中就遇到了上面的问题,所以为了项目在一定程度上的高效进行,所以研究了一下使用spring boot 自动构造模拟数据。
小编研究自动构建的目的是:只要前后端的对接接口确定,后端接口即使没有写完也可以给前端提供实时数据,方便前端来对接接口。
Spring boot代码
这里主讲如何使用我提供的jar包来自动生成数据,思路就是根据实体类自动赋值。
实体类对象
//这里要引入loombook
@Data
public class User {
// @NonNull
// @NotEmpty
//姓名
private String name;
//年龄
private Integer age;
//地址
private String address;
//毕业年份
private String graduate;
//上课时间
private String classtime;
}
pom.xml
这里需要引入自动模拟数据的jar包,自己开发mvn仓库里面没有。
<dependency>
<groupId>com.boco.mock</groupId>
<artifactId>boco.mock</artifactId>
<version>1.0.0</version>
</dependency>
控制器代码
package com.llt.frame.demo.web.controller;
import com.boco.mock.Mock;
import com.liulangtao.frame.demo.domain.entity.User;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
/**
* @version V1.0
* @Author llt
* @Mail
* @Date 2019-10-17 09:19
* @description
***/
@RequestMapping("/autoSetDefaultData")
@Api(value = "附件下载")
@RestController
public class autoSetDefaultData {
@CrossOrigin(origins = "http://localhost:8080")
@RequestMapping(value = "/setUserDefault", method = {RequestMethod.GET}) // postman,url,3.tbox请求下载文件,暂时只支持单文件下载。
public List<User> setUserDefault() {
List<User> userList = new ArrayList<>();
for (int i=0;i<15;i++){
User userBean = Mock.mock(User.class);
userList.add(userBean);
}
return userList;
}
}
Swagger测试效果
jar包下载地址
链接:自动构建包下载地址