多条件查询是用一个接口还是拆分多接口好?

2020-07-27 09:55:41 +08:00
 Vimax

这种多条件查询,可能是1个条件单一查询,也可能会是多条件组合查询。

这种情况是设计一个接口,然后接口里面做参数判断。

还是将上述所有的条件拆分为独立的接口。让前端根据不同条件调用不同的接口好。

4773 次点击
所在节点    Java
19 条回复
zzfer
2020-07-27 10:07:35 +08:00
mybatis
<if test="xxx != null and xxx != ''">
AND table.xxx = #{xxx}
</if>
cheneydog
2020-07-27 10:11:52 +08:00
安查询的主体对象分接口
Tokin
2020-07-27 10:13:13 +08:00
只是查询条件不同的话,自然是提供一个接口传不同的参数最佳。
你可以参考诸多大厂的前端业务,F12 看一下就知道了。
zsdroid
2020-07-27 10:13:59 +08:00
让前端根据不同条件调用不同的接口?然后呢?让前端自己取交集吗?有分页怎么办?
wangritian
2020-07-27 10:15:51 +08:00
单一接口更好,既支持单项查询,也支持多项交叉,组织好 where
前提是返回数据格式一致,如果条件不同结果格式不同,还是拆开好
securityCoding
2020-07-27 10:34:04 +08:00
多接口前端会不会锤死你....
cnoder
2020-07-27 10:49:17 +08:00
和前端大哥交流下最重要
tctc4869
2020-07-27 11:02:23 +08:00
一个接口比较好,然后后端用模板引擎
palmers
2020-07-27 11:14:33 +08:00
http 接口一个, 底层接口多个 比较好 后面扩展方便 不然代码会随着业务复杂越来越乱
Sapp
2020-07-27 11:19:54 +08:00
你是后端,不是无情的数据库查询机,你自己可以多个查询然后拼接成一个接口给前端,不要真的前端要什么你就搞个接口从数据库取一下其他什么都不管,这种是最烦的,真的想打人
glacial
2020-07-27 11:20:49 +08:00
当然是一个接口,多接口你想被前端锤吗
xuanbg
2020-07-27 11:23:41 +08:00
一个接口,根据条件值拼 SQL
hoosin
2020-07-27 12:22:13 +08:00
这个没什么好问的吧

要根据自身业务,考的是设计能力
hoosin
2020-07-27 12:23:13 +08:00
或许 graphql 满足你
oneisall8955
2020-07-27 12:52:54 +08:00
一个接口查询 10 来个动态条件的都试过,说到底就是拼接动态 SQL
thtznet
2020-07-27 14:50:03 +08:00
Query Object 模式了解一下
Qinmei
2020-07-27 17:31:51 +08:00
你现在有 9 个可选参数,每个接口只查询一种条件, 那请问你总共需要多少种接口呢?

当参数为 1 个的时候, 你要写 9 个接口;

当参数为 2 个的时候, 你要写 9 * 8 个接口;

当参数为 3 个的时候, 你要写 9 * 8 * 7 个接口;

......
Vegetable
2020-07-27 17:35:49 +08:00
显而易见,一个。完全没有多个接口的理由。
toan
2020-07-27 20:31:11 +08:00
返回字段一致的话,一个接口。
如果返回字段有差异,差异不大的情况,也可以使用一个接口。
如果返回字段差别很大,接口拆分。

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

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

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

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

© 2021 V2EX