背景是需要处理多个合作方通过 HTTP 接口返回的数据,本来用的 yup,但后来发现老是因为会有一些合作方返回奇奇怪怪的格式而不得不去做兼容,还会有某个合作方升级版本结果接口返回了不兼容的格式,导致线上服务出问题被电话轰炸去排查问题的情况,从此就感觉做太严格的验证似乎有点不太行的样子。
因为上述问题,索性就写了一个新的 schema validation 的库,会自动填充默认值并对错误的类型进行转换,也支持 typescript 。就不再做太过严格的验证了,错误数据的情况留给应用来处理。
项目地址: https://github.com/ouromoros/pbfish