码迷,mamicode.com
首页 > 其他好文 > 详细

关于批量接口

时间:2020-04-02 21:02:42      阅读:65      评论:0      收藏:0      [点我收藏+]

标签:重复   on()   返回   col   相关   数据   new   应该   批量   

1. 用ids取数据的接口返回Map

使用

public Map<Integer, User> getUserByIds(Collection<Integer> ids) {
    ...
}

而不是

public List<User> getUserByIds(Collection<Integer> ids) {
    ...
}

原因是后者会引入一些困惑 :
1>id可以重复吗?重复时会去重吗?
2>返回的List的顺序和ids相关吗?
3>某个id不存在, List里是跳过还是null?

2.按ids取数据的RPC接口需要校验长度

接口实现时应该做ids最大长度校验. 若超出则直接抛异常, 否则可能会因性能上的问题拖垮整个服务.

import BoundExceededException;
Map<Integer, User> getUserbyIds(List<Integer> ids) throws BoundExceededException {
    if (ids.size() > bound) {
        throw new BoundExceededException();
    }
   ...
}

关于批量接口

标签:重复   on()   返回   col   相关   数据   new   应该   批量   

原文地址:https://www.cnblogs.com/yanch01/p/12622888.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!