这种情况是我在工作中遇到的,由于是做REST接口开发,有时候会遇到POST请求大量数据字段,并且我的后台要对这些字段做为空验证,因此我想到将这些字段存放在数组中统一验证,下面的代码是我验证的方式。
(def check-update-keys ["a" "b" "c" "d"]) //这里定义了一个数组,该数组表示POST请求中哪些字段需要验证。
(defn get-nil-kyes
"check-keys: 需要验证的参数名称数组.
params: 请求参数.
return: 为空的参数名称数组."
[check-keys params]
(into [] (for [k check-keys :when (check-repair-required? (get params (keyword k)))] k)))
//通过上面的方法会返回一个数组,假如为keys。
(if-not (nil? (first keys))
(msg/get-errors key)
//当keys为空时,说明POST请求的数据完整。