Vimax
V2EX  ›  Java

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

  •  1
     
  •   Vimax · Jul 27, 2020 · 6068 views
    This topic created in 2292 days ago, the information mentioned may be changed or developed.
    • 条件查询
      • 名称
      • 工号
      • 部门
      • ...

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

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

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

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

    要根据自身业务,考的是设计能力
    hoosin
    hoosin
    Jul 27, 2020
    14
    或许 graphql 满足你
    itechify
    itechify
    Jul 27, 2020 via Android
    15
    一个接口查询 10 来个动态条件的都试过,说到底就是拼接动态 SQL
    thtznet
    thtznet
    Jul 27, 2020
    16
    Query Object 模式了解一下
    Qinmei
    Qinmei
    Jul 27, 2020
    17
    你现在有 9 个可选参数,每个接口只查询一种条件, 那请问你总共需要多少种接口呢?

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

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

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

    ......
    Vegetable
    Vegetable
    Jul 27, 2020
    18
    显而易见,一个。完全没有多个接口的理由。
    toan
    toan
    Jul 27, 2020
    19
    返回字段一致的话,一个接口。
    如果返回字段有差异,差异不大的情况,也可以使用一个接口。
    如果返回字段差别很大,接口拆分。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4865 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 91ms · UTC 08:40 · PVG 16:40 · LAX 00:40 · JFK 03:40
    ♥ Do have faith in what you're doing.