接触项目也快一个月了,最常见的Javabean结构一般都是这种形式:
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 模型数据 其结构是由具体在业务各个模块关系决定
*/
@Data
@Accessors(chain = true)
public class ModuleScheduleInfo {
@ApiModelProperty(value = "隧道id")
private Integer tunnelId;
@ApiModelProperty(value = "隧道名称")
private String tunnelName;
@ApiModelProperty(value = "")
private DuanDataModel enter;
@ApiModelProperty(value = "")
private DuanDataModel exit;
@ApiModelProperty(value = "进度数据")
private DuanDataModel enter2;
@ApiModelProperty(value = "进度数据")
private DuanDataModel exit2;
/**
* 进出口model
*/
@Data
@Accessors(chain = true)
public static class DuanDataModel {
@ApiModelProperty(value = "掌子面")
private PositionDataModel zhangzm = new PositionDataModel();
@ApiModelProperty(value = "二衬")
private PositionDataModel erc = new PositionDataModel();
@ApiModelProperty(value = "洞口")
private PositionDataModel dongk = new PositionDataModel();
}
/**
* 区域model
*/
@Data
@Accessors(chain = true)
public static class PositionDataModel {
@ApiModelProperty(value = "区域名称")
private String name;
@ApiModelProperty(value = "最新桩号")
private String mark;
@ApiModelProperty(value = "累计进尺")
private Double jinchi;
@ApiModelProperty(value = "最新填报进尺时间")
private String jinchiSubmitTime;
@ApiModelProperty(value = "直播视频名称")
private String videoName;
@ApiModelProperty(value = "直播视频播放地址")
private String videoAddress;
@ApiModelProperty(value = "施工工艺视频播放地址")
private String progressVideoAddress;
}
}
该类可以具体代表多个隧道,即隧道模型因此在从数据库中进行数据交互之后可以把所得的数据封装到该类的实例化对象中,因此完整的json格式数据返回其结构和上述示例的类的结构一致(其中的静态类)。一层嵌套一层。
不管是是去看具体的实现类还是浏览器返回的json数据格式(在这之前需要编写数据返回的格式类),会发现整个过程都在获取数据封装数据再赋值实例化对象进而到达接口数据能够交互的目的。面向对象不难理解。
推荐使用火狐浏览器进行数据返回更为直观: