更新 UserResource 上的 POST 和 DELETE 方法以使用 JPA

17 Jan 2025 | 2 分钟阅读

在本节中,我们将转换 deleteUser() 方法和 createUser() 方法以使用 JPA。让我们在 UserJPAResource.java 中进行更改。

步骤 1: 更改 deleteUser() 方法的服务。

步骤 2: 删除返回类型,因为 userRepository 的 delete() 方法不返回任何内容。

如果失败,它会抛出一个异常。

步骤 3: 打开 Postman 并发送一个 DELETE 请求,URL 为 https://:8080/jpa/users/1。

Updating POST and DELETE methods on UserResource to use JPA

状态:200 OK 表示记录已成功删除。

再次发送一个 DELETE 请求,URL 相同:https://:8080/jpa/users/1。它返回消息“no entity with id 1 exist”。

现在我们将生成一个 POST 请求来创建一个用户。

步骤 4: 发送一个 POST 请求,URL 为 https://:8080/jpa/users。

步骤 5: 单击 Headers 选项卡,并确保 Content-Typeapplication/json

Updating POST and DELETE methods on UserResource to use JPA

步骤 6: 转到 Body 选项卡并输入用户的 namedob。我们输入的名字是 James

Updating POST and DELETE methods on UserResource to use JPA

步骤 7: 单击 Send 按钮。当我们尝试创建用户时,它会抛出 ConstaintViolationException

这是因为 hibernate 使用一个序列。在 User 实体中,Id 是生成的值,因此它为我们创建一个序列。Hibernate 正在尝试插入 id 为 1 的行。这与我们已经拥有的数据冲突。要消除此冲突,请执行以下操作:

步骤 8: 打开 data.sql 文件并更改 Id。

步骤 9: 再次发送 POST 请求。它返回 Status: 201 Created。该状态表明用户已成功创建。

Updating POST and DELETE methods on UserResource to use JPA