在本节中, 我们将启用后期操作以为特定用户创建帖子。
步骤1:打开UserJPAResource.java文件并创建一个PostMapping来创建一个帖子。
@PostMapping("/jpa/users/{id}/posts")
public ResponseEntity<Object> createUser(@PathVariable int id, @RequestBody Post post)
{
Optional<User> 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.srcmini.server.main.user;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface PostRepository extends JpaRepository<Post, Integer>
{
}
第3步:打开邮递员并发送带有URI http:// localhost:8080 / jpa / users / 102 / posts的POST请求。在“正文”选项卡下, 插入帖子描述。
它返回状态:201已创建。通过执行查询select * from post;我们也可以在数据库中看到此post。
评论前必须登录!
注册