北川广海の梦

北川广海の梦

地灾项目

199
2020-05-07

2019年从7月份开始,一直到12月份,参与了一个springboot的后台web API项目,一直没有进行过回顾。

项目是一个基于springboot为web API程序,为地质灾害预警平台提供所需数据,主要为前端提供各种所需Json数据,并且实现对数据的管理功能。

主要工作

1.实现用户相关功能,登录,注册,资料,角色分配,设置管理范围等功能。
2.提供地质灾害相关数据获取接口,例如灾害点,设备,包含其属性信息即坐标信息,以及对相应信息进行数据编辑接口。
3.灾害检测数据获取等。

所做的工作基本都是CRUD,咱也没办法。整个项目其实就相当于一个管理平台。

但是由于初次做后台项目,其中还是有很多不足

不足之处

1.整个项目几乎没有应用缓存,无论是Http Response 缓存还是内存缓存。
例如项目会对全国行政区Json数据进行获取,大概三千条数据,149KB左右的大小的Get请求,没有设置浏览器缓存。

2.先甩个锅,数据库不是我设计的。数据库设计不合理,对于用户,既有所管辖的行政区,又有角色,还有部门。但是在获取一个用户能看到的数据的时候,要取行政区,角色,部门所有数据的并集。

3.许多东西是水平的,而非垂直,导致大量冗余代码,没有利用SpringBoot切面编程的思想。例如2中提到的一个用户所能看到的数据,应该提供一个中间层,中间层负责对用户提供数据筛选,例如角色,所选行政区等,然后由中间层分别去取对应的角色能查看的数据,行政区包含的数据。以此降低耦合度。