Micronaut 在控制器中正确处理 io.reactivex.Maybe,但如何处理?
Micronaut correctly handles io.reactivex.Maybe in Controllers, but how?
在我的控制器中我有:
@Get("/{id}")
fun findById(id: String): Maybe<AccountTransaction> {
return accountTransactionRepository.findById(ObjectId(id))
}
存储库如下所示:
fun findById(id: ObjectId): Maybe<AccountTransaction> {
return Flowable.fromPublisher(getCollection().find(Filters.eq("_id", id))).firstElement()
}
如果我传入无效的 ID,控制器会正确响应 404。太棒了!我只是不知道为什么/怎么会这样。我假设它刚刚融入 MN,它会检查它是否为空。但是有人可以向我解释一下/确认吗?
I assume that's just baked in to MN and it checks to see if it is
empty or not. But can someone explain that to me / confirm?
每当控制器操作 returns 为空或为空 Maybe
。
时,都会生成 404
有关更多信息,请访问 https://docs.micronaut.io/2.4.2/guide/#serverIO。
在我的控制器中我有:
@Get("/{id}")
fun findById(id: String): Maybe<AccountTransaction> {
return accountTransactionRepository.findById(ObjectId(id))
}
存储库如下所示:
fun findById(id: ObjectId): Maybe<AccountTransaction> {
return Flowable.fromPublisher(getCollection().find(Filters.eq("_id", id))).firstElement()
}
如果我传入无效的 ID,控制器会正确响应 404。太棒了!我只是不知道为什么/怎么会这样。我假设它刚刚融入 MN,它会检查它是否为空。但是有人可以向我解释一下/确认吗?
I assume that's just baked in to MN and it checks to see if it is empty or not. But can someone explain that to me / confirm?
每当控制器操作 returns 为空或为空 Maybe
。
有关更多信息,请访问 https://docs.micronaut.io/2.4.2/guide/#serverIO。