比如数据库中的表里的字段, 0 代表男, 1 代表女,返回给前端!

2019-12-06 03:35:37 +08:00
 gebishushu
比如数据库中的表里的字段,0 代表男,1 代表女,返回给前端
直接返回男和女好,还是直接返回 0 和 1 好
我想着是返回男和女后期增加人妖 前端不需要匹配了,如果返回 0 和 1 的话,后期增加人妖为 2 的话,前端还需要加匹配,对嘛?
5072 次点击
所在节点    问与答
38 条回复
ayase252
2019-12-06 03:52:42 +08:00
0/1 也好男 /女也好,接口定下来就好。
至于你的考虑,这个只是前端和后端的约定。前端不一定会直接显示从 API 中获取的值。
luckyx
2019-12-06 04:43:57 +08:00
const gender = {
'0': '男',
'1': '女'
}

gender(item.gender)
lihongming
2019-12-06 04:45:08 +08:00
相比于汉字,传数字给前端会有很多优势,比如:

数据传输量更少( json 中汉字是三个字节而数字是一个字节)

更容易国际化(具体显示什么文字由客户端决定)

你传给客户端的可能不只是一条数据,而是个列表。客户端用数字进行过滤 /排序等操作的速度会比汉字更节约资源

……

顺便歪个楼:我觉得应该 0 表示女,1 表示男,这样更符合某个群体的认知

233 匿了……
Pastsong
2019-12-06 04:58:47 +08:00
整挺好的,万一你们以后扩展了 LGBTTQQIAAP,写汉字能写死
gebishushu
2019-12-06 05:21:14 +08:00
@ayase252
@Pastsong
@lihongming
@luckyx

感谢回复,谢谢你们!我豁然开朗
manami
2019-12-06 06:52:41 +08:00
写个枚举类转换呀
dangyuluo
2019-12-06 06:56:08 +08:00
返回阴 /阳


@lihongming 真能匿了么?
msg7086
2019-12-06 07:35:07 +08:00
Gender 是个枚举,当然是枚举类型了。
kaiyiliu123
2019-12-06 07:37:22 +08:00
那后期是 4 种 0 1 0→1 1→0 哈哈
happyz90
2019-12-06 07:42:35 +08:00
Facebook 有 56 种性别
mayx
2019-12-06 07:50:17 +08:00
直接返回文字容易被 xss
opengps
2019-12-06 08:04:45 +08:00
我觉得 0 应当是个默认值,不做实际业务赋值
ebony0319
2019-12-06 08:09:19 +08:00
@opengps 同意,一般前端不传,或者传 0 代表的是全部。
lucifer9
2019-12-06 08:28:04 +08:00
就怕以后这个必须用复选
sunziren
2019-12-06 08:42:53 +08:00
谢邀,人在美国,刚下飞机。匿了。
liuguangxuan
2019-12-06 08:44:26 +08:00
大晚上的都不休息的吗?
Chingim
2019-12-06 09:06:09 +08:00
@mayx 大佬能解释一下吗?想了解了解
Chingim
2019-12-06 09:37:08 +08:00
推荐接口语义化,传 male 和 female,只在最后保存到数据库时做一下转化。
1. 抓包时数据内容清晰,看到 0/1 你可以还要再想一下。便于调试和测试。
2. 前后端的代码里使用的都是语义化的值,而不是一堆 01,代码可读性得以提高。

至于增加的字节,有压缩不是事
w292614191
2019-12-06 09:48:42 +08:00
@Chingim 强迫症吗?
"看到 0/1 你可以还要再想一下"
male / female 不用想一下吗?
cyndihuifei
2019-12-06 10:02:04 +08:00
@w292614191 male / female 0/1,哪个容易想?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/626376

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX