4.7. JSON 解析和验证器封装
说明
目前我们的 signup_controller.go 里有两个方法,他们之间存在很多重复代码,我们需要对其进行优化,以提高代码的可维护性。
重复代码,主要集中在两块逻辑上:
- 请求的 JSON 数据解析;
- 验证用户请求。
这两块都属于处理用户请求,可以将他们封装到一起。
1. 重构验证器
除了控制器,请求验证器 signup_request.go 中也有很多重复代码。因为控制器依赖于请求验证部分的逻辑,我们先来处理请求的逻辑。
提示: Go 项目做重构时,一般先修改末端的代码。例如 A 依赖于 B ,B 依赖于 C。重构的顺序是先重构 C 然后是 B 最后是 A。
signup_request.go 中,以下代码是重复的:
// 配置初始化
opts :