본문 바로가기
토이프로젝트 - 뉴스피드

23.07.05

by J1-H00N 2023. 7. 5.
    public void like(LikeRequestDto requestDto) {
        User user = userRepository.findById(requestDto.getUser_id()).orElseThrow(() ->
                new IllegalArgumentException("로그인 시 이용 가능합니다.")
        );
        Feed feed = feedRepository.findById(requestDto.getFeed_id()).orElseThrow(() ->
                new IllegalArgumentException("없는 피드입니다.")
        );

        if (likeRepository.findByUserAndFeed(user, feed).isPresent()) {
            throw new RuntimeException("이미 좋아요 한 피드입니다.");
        }

        Like like = new Like(user, feed);
        likeRepository.save(like);
        customFeedRepository.updateCount(feed,true);
    }

    public void cancel(LikeRequestDto requestDto) {
        User user = userRepository.findById(requestDto.getUser_id()).orElseThrow(() ->
                new IllegalArgumentException("로그인 시 이용 가능합니다.")
        );
        Feed feed = feedRepository.findById(requestDto.getFeed_id()).orElseThrow(() ->
                new IllegalArgumentException("없는 피드입니다.")
        );

        Like like = likeRepository.findByUserAndFeed(user,feed).orElseThrow(() ->
                new IllegalArgumentException("해당하는 좋아요를 찾을 수 없습니다.")
        );

        likeRepository.delete(like);
        customFeedRepository.updateCount(feed, false);
    }

이와 같이 새로운 레퍼지토리를 만들어 해당 메서드를 구현해보려고 했으나 queryfactory등 처음보는 라이브러리를 이용하거나 repositoryImpl을 만들어 직접 구현해야 하는 등 그 방법이 난해하다고 느껴 좀 더 익숙한 방법을 찾아봤다.

결국 기존에 알고 있던 방법들로 좋아요 기능을 구현하는 블로그를 찾아 그 내용을 구현해보려고 한다.

참조한 블로그  : https://hose.tistory.com/18

 

스프링부트 게시판 API 만들기 - 13 게시물 좋아요 기능 만들기

안녕하세요 이번 시간에는 게시물 좋아요 기능을 만들어 보도록 하겠습니다. 수정할 파일 : PostController, PostService, PostEntity, UserEntity 생성할 파일 : PostLikeEntity, PostLikeRepository - PostController @PostMappin

hose.tistory.com

 

java.sql.sqlsyntaxerrorexception: you have an error in your sql syntax; check the manual that corresponds to your mysql server version for the right syntax to use near 'like (

라는 에러가 발생했는데, sql예약어 like를 사용해서 생긴 문제였다. entity명을 예약어로 쓰지 않게 조심했어야 했다.

 

 

'토이프로젝트 - 뉴스피드' 카테고리의 다른 글

23.07.06  (0) 2023.07.06
23.07.04  (0) 2023.07.04
23.07.03  (0) 2023.07.03
23.06.30  (0) 2023.06.30