如何从基于数据库的Id SpringBoot Java获取数据

时间:2019-11-15 02:33:15

标签: java postgresql rest spring-boot web-services

我构建了一个简单的REST服务,我想从基于数据库的id中获取数据,只是数据密钥,但是当我在邮递员中未显示任何结果时,该如何解决呢? 请帮助我。...

这是我的存储库


PageRequest pageRequest = PageRequest.of(offset, limit);

List<Product> products = getProducts();

int total = products.size();
int start = toIntExact(pageRequest.getOffset());
int end = Math.min((start + pageRequest.getPageSize()), total);

List<Product> output = new ArrayList<>();

if (start <= end) {
    output = products.subList(start, end);
}

return new PageImpl<>(
    output,
    pageRequest,
    total
);

这是我的控制器

public interface GenerateKeyRepository extends JpaRepository<KeyEntity, Integer>
{
Optional<KeyEntity> findById(Integer id);

}

这是我的实体

@GetMapping(path= "/getById/{company_id}")

String getById(@RequestBody KeyEntity keyEntity, @PathVariable int company_id){
String encKey= null;

    KeyEntity key = new KeyEntity();

    encKey= key.getKeyencrypted();

    gkrepo.findById(company_id);

    return encKey;

}

2 个答案:

答案 0 :(得分:1)

gkrepo.findById(company_id);的返回结果分配给一个变量,然后从该变量获取加密密钥。然后从您的控制器返回。 当前,您正在自己创建一个新的KeyEntity对象,而不使用存储库结果。

答案 1 :(得分:0)

尝试以下代码。可能有帮助。

@GetMapping(path= "/getById/{company_id}")
String getById(@RequestBody KeyEntity keyEntity, @PathVariable int company_id){
String encKey= null;
KeyEntity key = gkrepo.findById(company_id).get();
encKey= key.getKeyencrypted();
return encKey;

}