V-RIS 개발일지 (15) 음식점 별 리뷰 삭제

KHJ·2022년 6월 17일
0

V-RIS 개발일지

목록 보기
15/15

음식점 별 리뷰의 마지막 기능인 리뷰 삭제 기능이다.

구현 방법

  • @DeleteMapping 이용

  • 먼저 resIdx와 userIdx를 이용해 유저가 해당 음식점에 대해 작성한 리뷰가 존재하는지 확인한다.

  • 작성한 리뷰가 존재한다면 Repository에서 기본으로 제공하는 delete를 이용하여 리뷰를 삭제한다.

  • 작성한 리뷰가 존재하지 않는다면 작성한 리뷰가 없다는 문자열을 반환한다.



ReviewJpaController

리뷰생성 기능을 구현할 때 만들어둔 findReviewByResIdxAndUserIdx를 이용해 유저가 해당 식당에 작성한 리뷰가 존재하는지 확인한다.


null이라면 작성한 리뷰가 없다는 뜻이므로 실행이 되지 않는다.


null이 아니라면 작성한 리뷰가 존재한다는 뜻이므로 repository.delete를 이용하여 삭제한다.

@RestController
@RequiredArgsConstructor
@RequestMapping("/v1/vegan-res")
public class ReviewJpaController {
    @Autowired
    private ReviewRepository reviewRepository;
    
    
    // 키워드 리뷰 삭제
    @DeleteMapping("/{resIdx}/review/{userIdx}")
    public String deleteReview(@PathVariable int resIdx, @PathVariable int userIdx){

        Review review=reviewRepository.findReviewByResIdxAndUserIdx(resIdx, userIdx);

        if(review==null){
            return "작성한 리뷰가 없습니다.";
        }
        else{
            reviewRepository.delete(review);
            return "리뷰가 삭제되었습니다.";
        }
    }
}



ReviewRepository.java

	// resIdx, userIdx로 리뷰 찾기(return Review)
    @Query(value="select rev from review rev where rev.resIdx= :resIdx and rev.userIdx= :userIdx")
    Review findReviewByResIdxAndUserIdx(Integer resIdx, Integer userIdx);



실행 결과

작성한 리뷰가 존재할 때


작성한 리뷰가 존재하지 않을 때

0개의 댓글