起因是有些字段不是必填项,是通过字典维护的,值是 int 类型,前端希望返回值就是 null 或者空串方便展示,后端这边认为数字类型默认值就是 0 ,数据库默认值也是 0, 应该由前端处理,想问下大家平时是怎么处理的?
|  |      1Paracosm      2024-08-19 10:25:51 +08:00 小公司,组内没有那么严格,一般跟前端约定,想要什么我就返回什么。。。。不过如果是 int 类型的话我默认也是传数据库的默认值 | 
|      2yannxia      2024-08-19 10:27:17 +08:00 合理应该是 null , - 0: 此字段是必填项,但是有默认值 - Null: 此字段是非填项 | 
|      3zhangdp      2024-08-19 10:33:22 +08:00 返回 0 的话你们要怎么跟值真的为 0 的区分开? | 
|  |      4IvanLi127      2024-08-19 10:34:13 +08:00 理论上得是 null ,除非你们已经定义了字典值是 0 表示用户未选择。这个情况我觉得在定义上有得商量。 | 
|  |      6sagaxu      2024-08-19 10:36:26 +08:00 没有值的时候,就不该返回这个字段 | 
|  |      7xiangyuecn      2024-08-19 10:38:05 +08:00 没有提供值,那就 null 或者不返回此字段 可以返回 0 的情况,只有这个字段本身不包含 0 | 
|      8wu00      2024-08-19 10:39:36 +08:00 不想处理,那 0 就 0 呗,大不了后面用-1 表示未填,0 表示 0 | 
|      9nikoxie OP | 
|  |      10potatowish      2024-08-19 10:41:23 +08:00 via iPhone 返回 null ,后端判断下就可以了,返回 0 的做法纯粹是后端偷懒 | 
|  |      11Vegetable      2024-08-19 10:44:09 +08:00 前端有理 | 
|      12ala2008      2024-08-19 11:02:30 +08:00 应该是 Integer 类型,不返回最好 | 
|  |      13vishun      2024-08-19 14:49:58 +08:00 `数据库默认也是 0`,这可以转变成数据库字段设计要不要为 null ,有些人喜欢用 null ,有些人喜欢用默认值 0 ,个人感觉按照数据库来就行了,数据库是什么返回就是什么。 | 
|  |      14pkoukk      2024-08-19 14:54:55 +08:00 有公司规范或者代码规范,就是他说得对 没有就是你对 | 
|  |      15vishun      2024-08-19 14:58:29 +08:00 @nikoxie #9 如果 0 能混淆,你数据库设计时为什么会设计为 not null 且默认值是 0 呢,要改也是从数据库改,仅仅是后端程序不可能判定出是否混淆。 | 
|      16matepi      2024-08-19 15:09:40 +08:00 为什么不是不传? 从语义较优的感觉上 不传 > 空串 > 0 = null 平时怎么处理,看团队、看项目规范 | 
|  |      17loading      2024-08-19 15:11:35 +08:00 你的 api 没有设计 404 吗? 返回 0 和 NULL 都是不对的。 |