从做题软件开始谈智能,从软件到系统逐一解析之试卷相关接口分析

在前面《从做题软件开始谈智能,从软件到系统逐一解析之数据表结构》的文章中,我列出了做题软件的最基本但是最核心的数据表结构,在这一篇文章,我将着重分析下关于试卷表(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进行处理,非常感谢!

上一篇 2021年4月1日
下一篇 2021年4月1日

相关推荐