第四届青训营大数据进阶版笔记(定义接口、后端实现)

81 阅读2分钟

第四届青训营大数据进阶版笔记 主要是负责与前端人员进行沟通并确定接口,事实证明,定义良好的接口可以大大减少后期的处理,方便人员进行前后端交互联调。我们的接口定义主要是定了一些proto文件,前端人员根据proto文件进行开发,后端根据proto文件进行开发。我同时还负责后端代码的开发,主要是数据集的创建和数据集信息的查询,采用的技术就是spring boot技术。在这里还要感谢组内的另一个同学,他已经将接口定义好,我只需要实现接口的功能就可以了。在实现的时候,还是遇到了一些小麻烦,比如根据定义好的接口,我负责的部分会有很多嵌套的实体类,

message DataSetListResponse {
    // 所有数据集
    repeated DataSetListResponseData data = 1;
    base.BaseResp baseResp = 255;
}

// 单个数据集
message DataSetListResponseData {
    // 一个数据集下的所有的表,数组长度为表的个数
    repeated DataSetList dataSetList = 1;
    // 数据集总数
    int64 totalCount = 2;
}

// 数据集下的单张表
message DataSetList {
    // 1-6 是数据集的字段,而不是表的字段
    /** dataset createTime, timestamp in ms*/
    string createTime = 1;
    /** dataset name*/
    string name = 2;
    /** dataset description*/
    string descr = 3;
    /** dataset source type*/
    string dataSourceType = 4;
    /** dataset id 数据集id */
    string id = 5;
    /** dataset createUser*/
    string createUser = 6;
    // 7-9 是表的字段
    /** database name from where the table created*/
    string dbName = 7;
    /** table name*/
    string tableName = 8;
    /** table id*/
    string tableId = 9;
    /** table schema*/
    repeated Schema schema = 10;
}

message Schema {
    string name = 1;
    string type = 2;
    string descr = 3;
    bool isPartition = 4;
}

可以看到定义的还是非常的复杂,我还是采用了最传统的方法定义了一些实体类不断的嵌套,暂时还没有想到更好的方式实现。

通过这次活动还是收获了很多,最大的收获就是前后端的联调,这个看似简单,但是是是非重要且复杂的,很多团队前后端分开开发但是最后却因为前后端无法联调成功而放弃,在此也感谢队友们了!!!