📜  实施POST服务为用户创建帖子

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

实施POST服务为用户创建帖子

在本节中,我们将启用后期操作以为特定用户创建帖子。

步骤1:打开UserJPAResource.java文件并创建一个PostMapping来创建一个帖子。

@PostMapping("/jpa/users/{id}/posts")
public ResponseEntity createUser(@PathVariable int id, @RequestBody Post post)    
{
Optional userOptional= userRepository.findById(id);
if(!userOptional.isPresent())
{
throw new UserNotFoundException("id: "+ id);
}
User user=userOptional.get();    
//map the user to the post
post.setUser(user);
//save post to the database
postRepository.save(post);
//getting the path of the post and append id of the post to the URI 
URI location=ServletUriComponentsBuilder.fromCurrentRequest().path("/{id}").buildAndExpand(post.getId()).toUri();
//returns the location of the created post
return ResponseEntity.created(location).build();
}


步骤2:创建一个帖子存储库。

PostRepository.java

package com.javatpoint.server.main.user;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface PostRepository extends JpaRepository
{

}

第3步:打开邮递员并发送带有URI http:// localhost:8080 / jpa / users / 102 / posts的POST请求。在“正文”选项卡下,插入帖子描述。

它返回状态:201已创建通过执行查询select * from post;我们也可以在数据库中看到此post。