java - 如何通过 ID 从数据库获取数据 Spring Boot Java REST API

标签 java postgresql spring-boot web-services

我构建了简单的 REST 服务,我想从基于数据库的 ID 获取数据 key ,但是,当我运行 postman 中没有显示结果时,我该如何修复它?

这是我的 Controller

    //Get Key

    @RequestMapping(path="/getkey/{company_id}", method = RequestMethod.GET)
    String getKey(@PathVariable int company_id) {
    String encKey = null;



    gkrepo.getKeyByCompanyid(company_id);

    return encKey;


}

这是我的存储库

public interface GenerateKeyRepository extends JpaRepository<KeyEntity, Integer>
{

@Query(value= "SELECT * FROM tb_key", nativeQuery = true)
List<KeyEntity> getAll();

public void getKeyByCompanyid(Integer companyid);


}

最佳答案

这里的问题是,您忽略了 repository 方法的返回值并返回 null

@RequestMapping(path="/getkey/{company_id}", method = RequestMethod.GET)
    String getKey(@PathVariable int company_id) {
    String encKey = null;

    gkrepo.findOneByCompanyId(company_id);

    return encKey; //YOU RETURN NULL HERE
}

您需要做的是从KeyEntity对象返回 key 。

@RequestMapping(path="/getkey/{company_id}", method = RequestMethod.GET)
    String getKey(@PathVariable int company_id) {

    return gkrepo.getKeyByCompanyid(company_id).getKey();
}

您的存储库中还需要一个附加方法。

public interface GenerateKeyRepository extends JpaRepository<KeyEntity, Integer> {

    @Query(value= "SELECT * FROM tb_key", nativeQuery = true)
    List<KeyEntity> getAll();

    public void findOneByCompanyId(Integer companyid);
}

关于java - 如何通过 ID 从数据库获取数据 Spring Boot Java REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58851458/

相关文章:

java - Play WS 异常 : javax.net.ssl.SSLException: Received fatal alert: internal_error

java - 有没有更好的实现方法?

Django:加密密码到遗留(不是auth_user)表

postgresql - 有没有办法为 Zend_Db 连接设置 search_path?

java - Spring Boot 2 使用多个数据源禁用自动提交 Hikari

java - Spring Security - 无法使用自定义登录页面登录

java - 尝试将列表转换回数组时出现 NullPointerException

database - 我在我的 mac 上设置了 psql 和 pgadmin。我可以在两者上创建数据库和表,但它们似乎没有连接

java - 如何在多模块 Gradle 项目中构建分发包?

java - 同一台服务器上的 Spring Boot + Angular2