java - 方法 orElseThrow(() -> {}) 未为 Page 类型定义
问题描述
这是一个小项目的服务实现类。我在 lambda 函数上遇到了一些错误。首先我没有错误地编写了 Lambda 函数,但当时变量“字符串数据类型中的 cId”然后我更改为“Long”。
代码如下所述。错误在哪里
The method orElseThrow(() -> {}) is undefined for the type Page<Categories>
首先感谢和问候。请帮助我修复错误。
package com.snipe.giftplanner.services;
import javax.transaction.Transactional;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import com.snipe.giftplanner.exception.ResourceNotFoundException;
import com.snipe.giftplanner.model.Categories;
import com.snipe.giftplanner.repository.CategoriesRepository;
@Service
@Transactional
public class CategoriesServicesImpl {
@Autowired
private CategoriesRepository crepo;
public Categories createCategory(Categories category) {
return crepo.save(category);
}
public Page<Categories> getAllCategory(Pageable pageable) {
return crepo.findAll(pageable);
}
public ResponseEntity<?> getCategory(Long cId) {
return crepo.findById(cId).map(category -> {
crepo.getOne(cId);
return ResponseEntity.ok().build();
}).orElseThrow(() -> new ResourceNotFoundException("cId " + cId + " not found"));
}
public ResponseEntity<?> deleteCategory(Long cId) {
return crepo.findById(cId).map(category -> {
crepo.delete(category);
return ResponseEntity.ok().build();
}).orElseThrow(() -> new ResourceNotFoundException("cId " + cId + " not found"));
}
public Categories updateCategory(Long cId,Categories categoryRequest) {
return crepo.findById(cId).map(category -> {
category.setCname(categoryRequest.getCname());
category.setDescription(categoryRequest.getDescription());
return crepo.save(category);
}).orElseThrow(() -> new ResourceNotFoundException("CID " + cId + " not found"));
}
public void deleteAllCategory() {
crepo.deleteAll();
}
public Categories findByCname(String cname) {
Categories obj = crepo.findByCname(cname);
return obj;
}
}
解决方案
推荐阅读
- r - 年龄比例堆积条形图
- assembly - 为什么 x86 只有一种形式的条件移动,而不是立即数或 8 位?
- c - 调用 open 时如何调用 sys_open 而不是 sys_openat
- python - 多语言 DjangoCMS
- python - 如何从 python 中的主列表创建两个 XORable 列表?
- python - 从项目目录导入包
- c++ - 我们可以在 O(1) 时间内反转一个堆栈吗
- javascript - 隐藏表格行有效,但淡出无效
- mysql - 连接表的spring删除行
- java - 线程“main”java.lang.Error 中的异常:未解决的编译问题:在 Datatypes.main(Datatypes.java:4)