【发布时间】:2020-08-28 18:58:35
【问题描述】:
我们将使用支持 bulkGETOperations 的第三方 REST API 服务,在我们发送请求之前,我们需要为数组中的每个元素分配一个唯一的 id(bid),如果成功(200好的)。
有人可以帮助我根据请求中传递的唯一出价映射响应的方式/最有效的方式,映射后我需要根据特定条件将各个字段存储在数据库中。下面是示例请求 JSON ,响应将与以下格式相同,但每个学校将包含其他字段
"testList": [
{
"schoolIdentifier": {
"schoolId": "abc",
"schoolName": {
"name": "ABC"
}
},
"bid": 1
},
{
"schoolIdentifier": {
"schoolId": "bbb",
"schoolName": {
"name": "BCD"
}
},
"bid": 2
}
]
注意:我知道这可以通过 Map 来完成,但正在寻找使用 java 8 的有效解决方案
【问题讨论】:
-
你试过什么?您是否测量了不同技术的性能?你是从地图还是缓存开始的?
-
您好,尝试过 Map 但正在寻找 java 8 流解决方案
-
如果请求负载不能改变,考虑使用下面的
class BulkRequest { List<SchoolBid> schoolBids;}和class SchoolBid { School school; int bid;},然后在收到请求时创建一个Map<Integer, School> perBidSchoolRequest(这可以使用groupingBy和mapping来完成)。在此之前,您需要遍历此Map的条目,并将请求转换为每个键的响应。