java - Vavr try fold 希望在第一个参数中出现异常
问题描述
我将 GraphQL 与 Vavr 一起使用。
在第一个函数参数中,Try.fold 正在等待引发异常,但在我的情况下,我想返回一个 DataFetcherResult。
编译时,我收到以下错误
Object / Required type: DataFetcherResult<Result>
编译行时
vehicle -> DataFetcherResult.newResult().data(vehicle).build()
。
public DataFetcherResult<Vehicle> getVehicle() {
return vehicleService.getVehicle()
.fold(
// Error because doesn't throw return an exception
exception -> DataFetcherResult.newResult().error(new CustomGraphqlException(exception)),
vehicle -> DataFetcherResult.newResult().data(vehicle).build()
);
}
vehicleService.getVehicle()
返回车辆尝试。
public Try<Vehicle> getVehicle() {
return Try.of(() -> buildVehicle().stream().findFirst().get());
}
在成功和错误的情况下,我如何从 a Try<Vehicle>
、 a中恢复?DataFetcher
解决方案
推荐阅读
- eloquent - 在 laravel-eloquent 中检索嵌套数据
- visual-studio - Deduce dataypes from table with only nvarchar fields?
- python - Pandas 填充 DataFrame 以填充边界
- terraform - 在应用调用之间存储 tfstate
- arrays - 如何在 Google 表格中创建占位符数组?
- python - 想加入三个模型并获得API输出
- java - JAVA:如何将数组中相同索引处的值求和到单个数组中
- java - 从 processbuilder 或 runtime 运行休息服务
- python - ValueError:数据基数不明确。确保所有阵列包含相同数量的样本。卷积神经网络
- visual-studio - NuGet:防止从 NuGet 子目录平面到 OutputPath 的复制操作