사용자가 자신이 팔로우한 다른 사용자들의 게시물을 볼 수 있게 하는 뉴스피드 기능입니다. 이를 통해 사용자는 커뮤니티 내에서 활발한 상호작용과 정보 공유를 경험할 수 있습니다. FollowController 수정 FollowController에 사용자 뉴스피드를 조회하는 엔드포인트를 추가합니다. 이 메소드는 현재 사용자가 팔로우하는 사용자들의 게시물을 조회합니다. @GetMapping public List getfeeds() { TokenContext context = TokenContextHolder.getContext(); Long followerId = context.getUserId(); return followService.getFeeds(followerId); } PostDto 수정 PostD..
프로젝트 (Java)/예약마켓
프로젝트에 회원 탈퇴 기능을 추가하는 것은 사용자가 자신의 계정을 삭제할 수 있게 하는 중요한 기능입니다. 이 기능을 통해 사용자는 자신의 정보를 시스템에서 완전히 제거할 수 있습니다. 연관관계 매핑을 활용하여 사용자와 관련된 모든 데이터를 함께 삭제하는 로직을 구현했습니다. UserController 수정 UserController에 회원 탈퇴를 위한 엔드포인트를 추가합니다. 사용자 ID는 토큰 컨텍스트에서 추출합니다. @DeleteMapping public void deleteUser() { TokenContext context = TokenContextHolder.getContext(); Long userId = context.getUserId(); userService.deleteUser(user..
프로젝트에 게시물 댓글 작성 및 삭제 기능은 사용자 간의 상호작용을 촉진하고, 커뮤니티 내에서 의견을 공유할 수 있는 중요한 기능입니다. 이 기능을 통해 사용자는 게시물에 대해 의견을 남기거나, 자신의 댓글을 삭제할 수 있습니다. PostController 수정 PostController에 댓글 추가 및 삭제를 위한 엔드포인트를 추가합니다. 사용자 ID는 토큰 컨텍스트에서 추출합니다. @PostMapping("/comment/{post-id}") public List addComment( @PathVariable(value = "post-id") Long postId, @RequestBody CreateCommentDto commentDto ) { TokenContext context = TokenCon..
PostController 수정 PostController에 좋아요 토글 기능을 위한 엔드포인트를 추가합니다. 사용자 ID는 토큰 컨텍스트에서 추출합니다. @PutMapping("/like/{post_id}") public void likePost(@PathVariable("post_id") Long postId) { TokenContext context = TokenContextHolder.getContext(); Long userId = context.getUserId(); postService.likePost(userId, postId); } Like 엔티티 수정 Like 엔티티의 setPost 메소드는 게시물에 좋아요를 추가하거나 제거할 때 사용됩니다. 이 메소드는 양방향 관계를 관리합니다. pu..
PostController 구현 PostController에서는 게시물 전체 조회를 위한 getPosts 메소드와 특정 게시물 상세 조회를 위한 getPostById 메소드를 정의합니다. @RestController @RequestMapping("/api/posts") @RequiredArgsConstructor public class PostController { private final PostService postService; @GetMapping public List getPosts() { return postService.getPosts(); } @GetMapping("/{post_id}") public PostDetailDto getPostById(@PathVariable("post_id")..
Comment, Like, Post 엔티티 구현 Comment, Like, Post 엔티티는 게시물과 관련된 데이터 모델을 정의합니다. 각각의 엔티티는 데이터베이스 테이블에 해당하며, JPA를 통해 관리됩니다. Comment: 게시물에 달린 댓글을 나타냅니다. @Getter @Entity @Table(name = "comments") @NoArgsConstructor public class Comment extends BaseTimeEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id", updatable = false) private Long id; @ManyToOne(fetch= FetchType.LAZY..