题主今年从前端转型到后端,打算干几年 node 扩充下经验。本来是想找个 graphQL 的工作,可惜国内大部分能做到 RESTful 就很不错了。工作没几天就碰到了这样的问题。
定义一个 POST 接口,如果某个字段是 optional,那应该怎么做
- 直接定义它是 optional, 调用接口的时候这个字段可以不传
- 定义它是 required & nullable,调用这个接口的时候这个字段可以传 null
- 定义它是 required & [default_value],调用这个接口的时候这个字段可以不传,但是 model 层要做兼容
方案一,会接到很多undefined,对其它语言交互不好
方案二,都是 required,要多传很多 null
方案三,要加好多逻辑(我比较懒)
最后我们决定,字段可以不传,在 model 层做兼容,不存在的字段处理成 null
好了,问题来了:
- 大家在生产环境是怎么处理这种问题的?
- 相信不少人遇到过这种问题,有没有什么现成的中间件能处理这种问题呢?