嗨,我有一個 API 回傳Mono<ResponseEntity<Void>>,該 API 將呼叫另一個回傳的 API Mono<ResponseEntity<Object>>,我如何將結果從另一個 API 轉換為Mono<ResponseEntity<Void>>?例如
public Mono<ResponseEntity<Void>> api() {
return anotherApi()
.map(response -> ResponseEntity.ok().build())
.onErrorReturn(ResponseEntity.badRequest().build());
}
如果我只有 ,上述方法有效map,但當我添加時onErrorReturn,它會抱怨Type mismatch: cannot convert from Mono<ResponseEntity<Object>> to Mono<ResponseEntity<Void>>,為什么它變成了Mono<ResponseEntity<Object>>?
uj5u.com熱心網友回復:
代碼是正確的,這只是無法正確推斷型別的 Java 泛型。
您可以明確提供型別
public Mono<ResponseEntity<Void>> api() {
return anotherApi()
.<ResponseEntity<Void>>map(response -> ResponseEntity.ok().build())
.onErrorReturn(ResponseEntity.badRequest().build());
}
或上移onErrorReturn一級
public Mono<ResponseEntity<Void>> api() {
return anotherApi()
.onErrorReturn(ResponseEntity.badRequest().build())
.map(response -> ResponseEntity.ok().build());
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/486342.html
上一篇:如何使用超過1個視窗的springboot配置javafx?
下一篇:java中具有多個欄位的通用屬性
