web后台中数据类的一些建议

2019-08-04  本文已影响0人  ToufuDrago_c53f

一、用于存储数据的数据类

    关于web中的数据类(例如User、Student),本人以往都是存在名为“entity”的包下。看了其他人项目的代码, 发现他们会根据该类的用途进行进一步区分,我个人也觉得这样很好,能够直接分辨出类的用途,当然这只是一种建议。

    建议将“entity"包改名为"pojo",然后“pojo"包下新建四个包,分别为"vo"、“dto"、"bo"、“po"。

    vo : 该包下的数据类主要用于返回给前端,后台有些字段是不需要或者不适合传给前端的,可以写一个vo数据类(例如UserVo),该类只包含前端需要的字段。

    dto : 该类型的数据类主要用于dubbo之类的数据传输。

    bo : 该类型本人没有用过,主要用于业务之间的调用。

    po : 用于接收数据库的数据。

二、后台返回给前端的Resp类

    本人将后台数据返回给前端,一般都会写一个Resp类,该类包含四个属性:

    code : Int 返回的状态码

    message : String 与code相关的描述信息

    timestamp : Long 请求的时间戳

    data : Any? 请求返回的数据

    这样写存在一个问题,就是controller层甚至servie层接口返回的类型都是Resp,当你想知道Resp的data到底是什么类型的数据时,需要跳转到接口实现的部分去查看,这不直观,而且data传什么类型都可以,代码中有可能传了自己不想传的类型但又没发立即发现。

    一个好的方法是使用泛型,Resp声明为Resp<T> , data : T? 

    这样接口返回时需要注明T的类型,如Resp<User>,这就很直观的看到该接口返回的类型了。

上一篇 下一篇

猜你喜欢

热点阅读