public Mono<ServerResponse> getMessage(ServerRequest request) {
//this call returns Mono<ApiClientResponse>
return apiClient.hystrixWrappedGetMessages(request.headers().asHttpHeaders(), request.queryParams())
.switchIfEmpty(/* Here */)
}
请原谅,代码有点不完整,当我遇到这个问题时,我正在重新构造它。要点是它在 switchIfEmpty()
调用时,编译器正在强制 Mono<ApiClientResponse>
,但是什么时候 hystrixWrappedGetMessages()
退货 Mono.empty()
我想退回204 Mono<ServerResponse>
例如,否则我想返回一个200。我怎样才能做到呢?
理想情况下,我可以在map调用中检查它是否是mono.empty(),但如果它是空的mono,它似乎不会进入map。考虑过使用可选的,但他们似乎不能很好地发挥monos。
1条答案
按热度按时间gopyfrb31#
你应该能够
flatMap
你的React是否良好,如果Mono#empty
返回flatMap
将被忽略。