如何看待后端接口带出数据库全部字段

2022-04-13 16:10:43 +08:00
 mokevip

直接从数据库中取得模型,不需要的值就是一堆 null

如果是需要额外处理的字段,就在原本对象内放一个 params 的对象,再嵌套一层放处理的数据

能因为一个值需要转换一下数据而扯皮,哪怕是取模于 10 这种简易操作也要前端来做

11262 次点击
所在节点    程序员
128 条回复
NjcyNzMzNDQ3
2022-04-14 14:17:47 +08:00
我前后端都写,不同意通用性、模 10 都不处理之类的观点。

前端代码也在服务器,发版还好说。ios/android 客户端也用后端接口,难不成每次都让客户端改?直接改后端不改客户端才是好接口!

后端本就是处理数据结构、算法的,啥都前端做,前端 nodejs/云生成 api 直接调用数据库算了。
ypzhou
2022-04-14 14:19:07 +08:00
垃圾呗,还有什么原因。自己想省事,累别人。
ikaros
2022-04-14 14:26:29 +08:00
这个把 openid 都带出来多少有点过分,没得洗,作为后端我都觉得不能忍
Marszm
2022-04-14 14:36:41 +08:00
太懒了哈哈哈。。。曾经赶工期偷懒写过一两次,被前端大爷凶了半天,就不敢了。
ytmsdy
2022-04-14 14:41:29 +08:00
居然还有 oldPassword 字段!优秀!
Marszm
2022-04-14 15:04:03 +08:00
@rabbbit 我不但见过,还写过。。不过我前后端都写。。有时候这些都是偷懒行为。
Marszm
2022-04-14 15:06:47 +08:00
@marcojbk 我们这,大家商量着来,不过一般都是我让着前端大哥。。
fenglangjuxu
2022-04-14 15:24:36 +08:00
作为一个后端 表示很惊奇 还有这么 low 的做法
Lweiis
2022-04-14 15:32:29 +08:00
作为一个后端,我觉得,完全用不到的字段,是没必要传的。该字段只是有可能为 null ,则应该保留,但前公司的后端架构是将 null 字段在序列化阶段直接去除了,在高访问场景下应该有一丢丢性能优化
NakeSnail
2022-04-14 15:41:08 +08:00
看过的 java 项目或多或少都有这样的接口
jqtmviyu
2022-04-14 15:56:26 +08:00
我一般是让后端精简无效的字段, 传输速度快点, 字段少也方便控制台看.
取模 / 百分比转换 / 时间戳 之类的还好. 递归成级联 我也能接受
elevioux
2022-04-14 16:04:42 +08:00
php 后端,觉得单纯的就是懒。至少得 select <需要的字段> from table 啊,直接 * 的话有点不负责任了。
Vitta
2022-04-14 16:08:38 +08:00
@NakeSnail #110 +1
hejw19970413
2022-04-14 16:22:59 +08:00
额 这种就好比 p2p 下载器
YIsion
2022-04-14 16:29:31 +08:00
mybaits-plus 用久了就这样
EscYezi
2022-04-14 16:53:05 +08:00
@YIsion #115 mybatis-plus 只是个 orm 封装,跟接口返回值又没有关系。还是人的问题。
bootvue
2022-04-14 16:55:02 +08:00
wolfie
2022-04-14 16:59:02 +08:00
@NjcyNzMzNDQ3 #101
典中典,只有跟自己相关的才是前端,其他客户端都不算前端。
chaselen
2022-04-14 17:16:59 +08:00
@rabbbit #50 有没有见过列表接口返回图片 id ,然后让前端循环调用图片 id 查询图片地址凑起来的。
encro
2022-04-14 17:27:19 +08:00
没什么问题。
大部分框架都会默认 select *的,否则难道数据库有 20 个字段,还一个一个写不成。
一般来说都是直接在模型里面定义那个字段需要在那个场景输出,没有定义就是默认输出。

看框架

这样做坏处是暴露字段,好处也是暴露字段(字段都显示了,前端不用靠文档,直接复制粘贴吧)。

安全隐患较少,像 django rest 这样的,默认还将每个参数注释都显示出来呢,都是为了方便。

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

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

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

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

© 2021 V2EX