📜  实施GET服务以检索用户的所有帖子

📅  最后修改于: 2021-01-11 06:10:12             🧑  作者: Mango

实施GET服务以检索用户的所有帖子

在本节中,我们将检索特定用户的所有帖子。

步骤1:打开UserJPAResource.java文件,并为URI“ / jpa / users / {id} / posts ”创建一个映射

@GetMapping("/jpa/users/{id}/posts")
public List retriveAllUsers(@PathVariable int id)
{
Optional userOptional= userRepository.findById(id);
if(!userOptional.isPresent())
{
throw new UserNotFoundException("id: "+ id);
}
return userOptional.get().getPosts();
}

步骤2:不需要在响应中显示用户详细信息,因此我们将在Post.java文件的User字段上方添加@JsonIgnore批注。

第3步:打开邮递员,并使用URI http:// localhost:8080 / jpa / users / {id} / posts发送GET请求。在我们的例子中,我们指定了用户ID 101 。它显示了用户101完成的所有帖子。

[
{
"id": 111,
"description": "first post"
},
{
"id": 112,
"description": "second post"
}
]

现在,我们向尚未创建任何帖子的用户发送GET请求。用户105尚未创建任何帖子,因此我们将在URI http:// localhost:8080 / jpa / users / 105 / posts中指定此用户ID。

它显示了一对空的方括号。方括号表示该用户存在,但该用户尚未创建任何帖子。

再次向数据库中不存在的用户发送GET请求(例如110) 。它显示状态:404未找到,具有以下详细信息:

{
"timesatmp": "2019-10-05T05:31:09.407+0000",
"message": "id-110",
"details": "uri=/jpa/users/110/posts"
}