V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  liuhuihao  ›  全部回复第 1 页 / 共 4 页
回复总数  75
1  2  3  4  
@userKamtao #94 后端在很多场景下需要拿到 明文密码的,就最简单的例子就是校验密码是否复合规则,长度、大小写一类的,这个校验的事儿肯定不能只放到前端做,然后你前端给 md5 了后端就没法校验了都
@hcwhan @v21984 toFixed 既不是银行家舍入也不是标准四舍五入,而是有一套自己的规则。

测试 (2.335).toFixed(2) => '2.33'
按照银行家的舍入规则应该是 '2.34'

测试 (2.55).toFixed(1) => '2.5'
按照标准四舍五入应该是 '2.6'
前置 - 净水器 - 管线机
完事儿,想喝水的时候直接去接,啥温度都能立刻出
浏览器的问题,感觉跟服务器 nginx 那边没关系
35 天前
回复了 zy0829 创建的主题 程序员 关于前后端接口联调的问题讨论
取决于 1. 前后端开发时能否完全按照文档来开发 2.文档的定义是否全面以及明确。
做到以上两点就可以不用联调了,但实话说基本做不到,很多时候文档定义的是 number 后端会给你个 string ,还有就是 文档最初在写的时候可能大家就没有考虑到会有一些额外的情况,开发过程中还要不停的修正文档,如果双方同步好了还行,没同步好就会出问题
@yusheng88 #67 没理解你的意思。我们这边接口针对 string 、数组、对象 类型前端确实是不需要 判 null 的,因为约定的是啥类型返回就是啥类型,空值也一样,string 类型为空时当然应该为空字符串,null 又不是字符串类型,类型定义和数据返回的类型应该一致。
数据定义和返回必须一致,这个我支持。你可以看下 我 62 楼的回复,有些情况下 null 还是有必要的。比如一个非必填输入框只支持填写任意的数字,那么这种情况下 我这边通常在定义这个字段的时候就定义为 number | null ,用 null 来表示“没有填”。
@yusheng88 产品和业务决定的应该是 字段是否可以为空,帖子讨论的为空的时候接口是否该返回 null 。很多值为空时候返回其实是可以在接口设计阶段避免的。
个人理解,如字符串 null 和'' 其实是一个含义都表示没填,数组[] 和 null 其实也是一个含义都表示没有。对象则应该在对象内部增加字段判断是否存在,Number 和 Boolean 大多数情况下也不需要返回 null 。
个人观点

String 空值情况:空值一律返回'',理由是一般情况下字符串字段都是用来展示用的,如有逻辑判断<用户是否填了>这个字段,那可以增加一个 boolean 字段表示是否填了, 但这种情况业务上很少,因为作为入参的时候一个输入框没填其实 = 空字符串

Number 空值需要根据业务场景来处理,比如“好友数”等各种计数的空值可以是 0 ,男女等 未选择的话可以用 -1 表示。但如果是一个非必填数字输入框,可以输入任意值的这种,null 值 应该是需要的

Boolean 同 Number ,需要根据业务场景来处理。

Array 空值一律应为 []

Object 不应返回 null ,比如“人”这个对象有个字段叫“父亲信息”,有的人可能没有父亲,这种情况 “父亲信息” 字段不应返回 null ,而是在“父亲信息”这个对象里面的 “是否存在父亲”字段做判断

总结我的观点:除了 Number 和 Boolean 可以返回 null ,字符串、对象、数组都不应返回 null
1  2  3  4  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5412 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 30ms · UTC 07:45 · PVG 15:45 · LAX 00:45 · JFK 03:45
Developed with CodeLauncher
♥ Do have faith in what you're doing.