【发布时间】:2021-07-11 16:11:41
【问题描述】:
所以我有一个contactId对象,我将其转换为flux,然后我分别使用每个Id查询联系人详细信息,然后使用collectList方法将其转换为Mono并将其映射到另一个对象,让我们称之为DomainContactDetails。
Flux.just(identifier.regContactId, identifier.billingContactId ,identifier.adminContactId, identifier.techContactId)
.flatMap { resellerGetContact(it) }
.collectList()
.map { DomainContactDetails.fromList(it) }
.toFuture()
有没有办法将通量元素收集到键映射而不是列表中。现在我正在使用列表索引来识别哪些数据属于该属性
data class DomainContactDetails(
val registrantContact: ContactInfo,
val billingContact: ContactInfo,
val adminContact: ContactInfo,
val techContact: ContactInfo
) {
companion object {
fun fromList(contacts: List<ContactInfo>) = DomainContactDetails(
registrantContact = contacts[0],
billingContact = contacts[1],
adminContact = contacts[2],
techContact = contacts[3]
)
}
}
我希望它是键映射,这样可能会更好一些
fun fromKeyMap(contacts: Map<String, ContactInfo>) = DomainContactDetails(
registrantContact = contacts["reg"],
billingContact = contacts["bil"],
adminContact = contacts["adm"],
techContact = contacts["tec"]
)
【问题讨论】: