Search

66. 스프링부트 포토그램 좋아요 구현 좋아요 카운트 뷰 렌더링

좋아요 구현

좋아요 카운트를 처리한다
Image.java에다가
@Transient private int likeCount;
JavaScript
복사
카운트를 위한 컬럼 하나 추가. (DB에는 추가하지 않는다)
ImageService.java에
이미지 카운트수를 담아준다
image.setLikeCount(image.getLikes().size());
JavaScript
복사
부분을 추가
story.js에 카운트수를 맵핑해준다
<span class="like"><b id="storyLikeCount-${image.id}">${image.likeCount} </b>likes</span>
JavaScript
복사
잘된다!!

**예외

근데 지금 알았는데 나는 브라우저로 테스트할때 화면창을 반이상 줄여두고 테스트 하다보니
Image.java
// 이미지 좋아요 @JsonIgnoreProperties({"image"}) @OneToMany(mappedBy = "image") private List<Likes> likes;
JavaScript
복사
이렇게만 줘도 무한참조 오류가 걸려서 @JsonIgnoreProperties({"image", “user”}) 이렇게 하면 오류가안났다.
근데 페이지 화면을 모니터화면에 맞춰서 전체화면으로 키우고
그냥 @JsonIgnoreProperties({"image"}) 상태로하면 오류가안난다 !!!
심지어 story.js에서 스크롤 페이징 간격 1, -1로 체크하던것도 줄인화면에서는 안먹어서 10,-10으로 넉넉하게 했다가 무한참조 오류걸렸던건데 전체화면은 그냥 1, -1로 해도 잘먹는다..
화면창을 줄인 상태에서 진행 → @JsonIgnoreProperties({"image", “user”}) 주고 스크롤도 10 , -10
전체 화면 → @JsonIgnoreProperties({"image"}) 및 스크롤도 1, -1
그러면 줄인 화면에서 전체화면 사이즈로 진행해도 오류가 안나길래 이걸로
화면창을 줄인 상태에서 진행 → @JsonIgnoreProperties({"image", “user”}) 주고 스크롤도 10 , -10
요걸로 수정~

*참고