需求背景
当一个应用随着项目迭代,提供的服务越来越多,那么参数的校验变得越来越多,越来越分散。往往在项目交接或者定位问题的时候,参数校验部分变得十分头疼。所以,既然有配置中心的设计,那么简单的或者有一定逻辑的参数校验能不能抽出来统一维护呢?这样设计的话,有两个好处:
- 可以通过管理端能力对某个参数进行一定的控制,不硬编码参数校验在自己的代码中,非常适合和第三方交互的场景。
- 参数校验部分抽出去之后,剩下的就是业务本身逻辑。便于维护理解和参数维护。
系统设计V1.0
我的理解目前参数校验系统主要包含三方面的接口:
- 面向使用者的参数校验发起服务
使用方只需要按照规定的要求提供参数到参数校验系统这边,然后由参数校验服务根据配置好的各个参数校验逻辑进行参数校验
- 面向管理者的参数校验管理服务
参数校验管理就是动态绑定参数校验逻辑,使得参数的校验变得灵活。通过提供的SPI接口,用户可以自己定义参数校验的逻辑,然后在管理站页面绑定这个校验。
- 面向参数校验逻辑的SPI扩展接口
设想中的V1.0版本仅支持字符串,数字,日期,等非常简单的校验。后期可以通过SPI接口进行扩展。