在前面《从做题软件开始谈智能,从软件到系统逐一解析之数据表结构》的文章中,我列出了做题软件的最基本但是最核心的数据表结构,在这一篇文章,我将着重分析下关于试卷表(exam_paper)和试卷类型表(exam_type)的相关接口。
在分析接口的时候,我们应该分独立的两个模块来分析,一个是前台接口以供小程序端或者H5或者APP使用,一个是后台的接口单独提供给后台管理系统使用。
我再次单独把试卷表(exam_paper)和试卷类型表(exam_type)的表结构列出来。
试卷相关的数据表结构
前提准备:
关于前台接口的交互协议,除了http状态码之外,还应该跟业务逻辑相关的编码,故在此封装了一个R类:
/** * 返回对象 * * @author lbchen */@Getter@Setter@ToString@JsonInclude(JsonInclude.Include.NON_NULL)public class R { /** * 返回码 */ private Integer code; /** * 返回提示信息 */ private String msg; /** * 返回值 */ private Object data; /** * 分页数据量 */ private Long count; /** * 默认无返回值成功返回值对象 */ public R() { this(ResponseEnum.OK, null); } /** * 默认有返回值成功返回值对象 * * @param data 返回值 */ public R(Object data) { this(ResponseEnum.OK, data); } /** * 无返回值的通用返回对象 * * @param responseEnum 响应枚举类 */ public R(ResponseEnum responseEnum) { this(responseEnum, null); } /** * 有返回值的通用返回对象 * * @param responseEnum 响应枚举类 * @param data 返回值 */ public R(ResponseEnum responseEnum, Object data) { this.code = responseEnum.getCode(); this.msg = responseEnum.getMsg(); this.data = data; }}
该R类引用的还有ResponseEnum,也是为了方便之后同业务编码的统一性考虑,所以也给列出ResponseEnum的代码如下:
/** * 响应枚举类 * * @author lbchen */@Getterpublic enum ResponseEnum { /** * 200-成功 */ SUCCESS(0,"SUCCESS") ; /** * 返回值编码 */ private final Integer code; /** * 返回值描述 */ private final String msg; ResponseEnum(Integer code, String msg) { this.code = code; this.msg = msg; } @Override public String toString() { return "{"code""="" + code +""
前台接口:
一、试卷类型分页列表
因为是前台接口,所以应该展示的试卷类型结果数据中,不应该有状态字段,由于数据的敏感性和语义性,ID是应该有的但也不应该显示给前端用户,故接口应该给前端的数据应该包含如下字段:id
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!