如何在 Java 中实现 RESTful API 并使用 PostgreSQL 进行数据存储?

阅读时长 11 分钟读完

随着Web应用程序的不断发展,RESTful API(Representational State Transfer Application Programming Interface)在构建API方面变得越来越流行。REST是一种设计模式,它通过HTTP方法(GET,POST,PUT,DELETE等)为应用程序提供基于网络的API。在本文中,我们将介绍如何在Java中实现RESTful API并使用PostgreSQL进行数据存储。

环境设置

在开始编写RESTful API之前,我们需要进行以下环境设置:

  1. Java 8
  2. Maven
  3. PostgreSQL数据库

创建一个 Java RESTful API

在开始编写 Java RESTful API之前,我们需要创建一个新的Java项目。使用Maven进行依赖项管理。

创建Maven项目后,可以使用以下依赖项配置文件来添加所需的依赖项:

-- -------------------- ---- -------
--------------
    ------------
        -------------------------------------------
        ------------------------------------------------
    -------------
    
    ------------
        ---------------------------------
        -----------------------------------
        -------------------------
    -------------
    
    ------------
        -------------------------------------------
        -----------------------------------------------------
    -------------
---------------
  • spring-boot-starter-web: 为创建一个Web应用程序提供了Spring Boot中常用的依赖
  • postgresql: 使应用程序可以与 PostgreSQL 进行交互
  • spring-boot-starter-data-jpa: 为创建一个Java Persistence API (JPA)的应用程序提供了支持

创建 Java RESTful API 端点

首先,我们需要创建一个Java类来表示RESTful API端点:

-- -------------------- ---- -------
---------------
-----------------------
------ ----- -------------- -
    
    ----------
    ------- -------------- ---------------
    
    ---------------------
    ------ ---------- ---------- -
        ------ -------------------------
    -
-

上述代码中:

  • @RestController: 该注解声明了该类为一个RESTful API端点
  • @RequestMapping("/api"): 该注解设置了端点的指定路径
  • @Autowired: 该注解标识了一个依赖项,即 userRepository
  • @GetMapping("/users"): GET请求映射到 /api/users,并返回一个用户列表

接下来,我们需要定义一个 User 类,该类将用于表示用户,并对其进行存储和检索。

-- -------------------- ---- -------
-------
----------- - --------
------ ----- ---- -
    
    ---
    ------------------------ - ------------------------
    ------- ---- ---
    
    ---------------- - ------
    ------- ------ ----------
    
    ---------------- - ------
    ------- ------ ---------
    
    ---------------- - ------
    ------- ------ ------
    
    ------ ------ --
    
    ------ ----------- ---------- ------ --------- ------ ------ -
        -------------- - ----------
        ------------- - ---------
        ---------- - ------
    -
    
    -- ------- --- -------
-

上述代码中:

  • @Entity: 该注解表示该类是一个实体,并将在数据库中作为表出现
  • @Table(name = "users"): 该注解指定数据库中表的名称
  • @Column(nullable = false): 该注解指定了列“firstName”,“lastName”和“email”都不允许为空
  • @Id: 该注解指定了列“id”为主键
  • @GeneratedValue(strategy = GenerationType.IDENTITY): 该注解指定了使用自增长策略来生成主键

创建 UserRepository 接口:

上述代码中:

  • @Repository: 该注解标识了一个存储库,并提供了JPA的功能
  • JpaRepository: 该类继承自Spring Data JPA中的 CrudRepository,并提供了JPA的基本功能

允许应用程序使用存储库进行数据检索和存储,以及使用 UserService 对抽象用户服务进行操作。

-- -------------------- ---- -------
--------
------ ----- ----------- -
    
    ----------
    ------- -------------- ---------------
    
    ------ ---------- ------------- -
        ------ -------------------------
    -
    
    ------ ---- ------------ ----- -
        ------ --------------------------
    -
    
    ------ ---- --------------- ------- -
        ----------------------------------
    -
    
    ------ ---- --------------- ----- -
        ------ --------------------------
    -
-

数据库配置

为了允许应用程序与 PostgreSQL 进行交互,需要添加以下配置信息:

-- -------------------- ---- -------
-------
    -----------
        ---- ---------------------------------------
        --------- --------
        --------- --------
    ----
        --------- ----
        ----------
            --------- ------

要根据需要更改 urlusernamepassword

示例代码

  • UserController.java
-- -------------------- ---- -------
---------------
-----------------------
------ ----- -------------- -
    
    ----------
    ------- -------------- ---------------
    
    ---------------------
    ------ ---------- ---------- -
        ------ -------------------------
    -
    
    --------------------------
    ------ -------------------- ------------------------- ---- --- -
        -------------- ---- - ----------------------------
        -------------------- -
            ------ ------------------------------
        - ---- -
            ------ ----------------------------------
        -
    -
    
    ----------------------
    ------ -------------------- -------------------- ---- ----- -
        ---- ------- - --------------------------
        ------ ---------------------------
    -
    
    ---------------------
    ------ -------------------- ----------------------- ---- ----- -
        ---- ---------- - --------------------------
        ------ ------------------------------
    -
    
    -----------------------------
    ------ -------------------- ------------------------ ---- --- -
        ------------------------------
        ------ ----------------------------
    -
-
  • UserRepository.java
  • User.java
-- -------------------- ---- -------
-------
----------- - --------
------ ----- ---- -
    
    ---
    ------------------------ - ------------------------
    ------- ---- ---
    
    ---------------- - ------
    ------- ------ ----------
    
    ---------------- - ------
    ------- ------ ---------
    
    ---------------- - ------
    ------- ------ ------
    
    ------ ------ --
    
    ------ ----------- ---------- ------ --------- ------ ------ -
        -------------- - ----------
        ------------- - ---------
        ---------- - ------
    -
    
    -- ------- --- -------
-
  • UserService.java
-- -------------------- ---- -------
--------
------ ----- ----------- -
    
    ----------
    ------- -------------- ---------------
    
    ------ ---------- ------------- -
        ------ -------------------------
    -
    
    ------ ---- ------------ ----- -
        ------ --------------------------
    -
    
    ------ ---- --------------- ------- -
        ----------------------------------
    -
    
    ------ ---- --------------- ----- -
        ------ --------------------------
    -
-

总结

在本文中,我们已经了解了如何在Java中使用Spring Boot框架实现RESTful API,并使用PostgreSQL进行数据存储。我们还创建了Java类来表示RESTful API的端点,并在PostgreSQL数据库中存储和检索数据。我们还介绍了如何使用编程方式在Spring Boot中配置数据库。希望该文章已经提供了指导意义。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64e0885af6b2d6eab3ba0916

纠错
反馈