求教-API 接口应该更通用还是更专注

2016-01-06 14:01:36 +08:00
 greatcl

比如一个需要一个判断用户今日是否签到的接口,由以下两种方案:
1. 直接返回是否签到
2. 返回上次签到时间及当前服务器时间

对于 1 ,客户端可以省去判断,直接使用。
对于 2 ,如果以后有类似:获取用户已多少天没有签到的需求,此接口仍可使用。

有同事建议是使用 1 的方式,在服务器上把一切逻辑处理完毕,客户端上尽量不做任何逻辑运算。
大家有什么看法呢?

2264 次点击
所在节点    编程
11 条回复
greatcl
2016-01-06 14:05:19 +08:00
自己顶下,掉的好快
HanSonJ
2016-01-06 14:08:05 +08:00
就不能全部都返回么。。。更省事
greatcl
2016-01-06 14:11:15 +08:00
@HanSonJ 是可以,那如果之后要获取已多少天未签到,还要修改接口把天数计算出来返回吗?
raptium
2016-01-06 14:15:02 +08:00
各有各的好处,字段传多了浪费带宽,传少了以后加新功能就得改接口。所以才会有 GraphQL 这种设计出来,不过你这个例子可能不适用。
myh0000
2016-01-06 14:22:26 +08:00
获取用户已多少天没有签到的需求 是程序猿自己想出来的吧,是的话, 1
greatcl
2016-01-06 14:23:48 +08:00
@raptium 谢谢,我去了解下 GraphQL 。
greatcl
2016-01-06 14:28:41 +08:00
@myh0000 是的。。。
myh0000
2016-01-06 14:39:25 +08:00
如果是一整套接口的话,可以考虑下扩展性和其他 api 的一致性,如果只是一个,简单来就行,以后要改也不费事
HanSonJ
2016-01-06 17:43:54 +08:00
其实这个应该是要考虑扩展性的问题,做到以后就算要更多的参数,容易加上去,加上去又不会对客户端有任何影响,现阶段是需要什么返回什么,服务端做好拓展性就好了
anerevol
2016-01-06 17:48:50 +08:00
如果不嫌麻烦的话
先提供复杂的 能满足所有情况的 API
然后再提供各种简化专注的版本
greatcl
2016-01-07 09:10:02 +08:00
@myh0000
@HanSonJ
@anerevol
谢谢 准备先返回现在需要的参数,之后有其他需求再扩展。

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

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

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

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

© 2021 V2EX