Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 根据Optional的值定义要调用的方法_Java_Spring_Spring Boot_Pagination_Option - Fatal编程技术网

Java 根据Optional的值定义要调用的方法

Java 根据Optional的值定义要调用的方法,java,spring,spring-boot,pagination,option,Java,Spring,Spring Boot,Pagination,Option,是否可以以某种方式更改下面的代码,以便在没有提供状态值的情况下,返回存储在数据库中的所有PaymentLog对象,而不是仅返回状态与404相等的对象?基本上,如果没有提供status变量来调用服务层中的另一个方法logService.getAllPaymentLogs() 及 @覆盖 公共页面getPaymentLog(int状态,可分页){ return paymentLogRepository.getAllByStatus(状态,可分页); } @123回答了评论环节中的问题: status

是否可以以某种方式更改下面的代码,以便在没有提供
状态
值的情况下,返回存储在数据库中的所有PaymentLog对象,而不是仅返回状态与
404
相等的对象?基本上,如果没有提供
status
变量来调用服务层中的另一个方法
logService.getAllPaymentLogs()

@覆盖
公共页面getPaymentLog(int状态,可分页){
return paymentLogRepository.getAllByStatus(状态,可分页);
}

@123回答了评论环节中的问题:

status.map(s -> getPaymentLog(s, page)).orElseGet(() -> getPaymentLog(page))

您的
paymentLogRepository
是否有类似于
getAll()
status.map(s->getPaymentLog(s,page)).OrelGet(()->getPaymentLog(page))
?谢谢。“s”是“status”的值,我假定。@Dc235是的,在lambda中可以随意调用它,它只是可选函数中的元素
@Override
public Page<PaymentLog> getPaymentLog(Pageable pageable) {
    return paymentLogRepository.getAllBy(pageable);
}
@Override
public Page<PaymentLog> getPaymentLog(int status, Pageable pageable) {
    return paymentLogRepository.getAllByStatus(status, pageable);
}
status.map(s -> getPaymentLog(s, page)).orElseGet(() -> getPaymentLog(page))