Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[feat/#91] 좋아요 기능 API 구현 #95

Merged
merged 13 commits into from
Sep 20, 2023
Merged

[feat/#91] 좋아요 기능 API 구현 #95

merged 13 commits into from
Sep 20, 2023

Conversation

fnzl54
Copy link
Contributor

@fnzl54 fnzl54 commented Sep 20, 2023

📢 기능 설명

image

redis를 사용하여 좋아요 기능 구현

  • 기존에 사용하던 redis에 좋아요수와 좋아요를 누른 사람을 구분하기 위한 templete 추가
  • 책 id를 통해 조회시 유저의 좋아요 여부와 좋아요 수도 한번에 반환하도록 수정

연결된 issue

close #91

✅ 체크리스트

  • PR 제목 규칙 잘 지켰는가?
  • 추가/수정사항을 설명하였는가?
  • 이슈넘버를 적었는가?

@github-actions
Copy link

github-actions bot commented Sep 20, 2023

Unit Test Results

0 tests  ±0   0 ✔️ ±0   0s ⏱️ ±0s
0 suites ±0   0 💤 ±0 
0 files   ±0   0 ±0 

Results for commit abefc4e. ± Comparison against base commit faae291.

♻️ This comment has been updated with latest results.

Copy link
Contributor

@jiminsong490 jiminsong490 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

수고하셨습니다!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

좋아요 관련 API에서 return 할 때 ResponseEntity.ok 안에 ResultResponse 형태로 반환해주셔야 해요.
50번줄 코드 참고하시면 될 것 같아요!
성공코드는 global/result/ResultCode에 추가하시면 됩니다.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)를 적용해 반환 시 카멜케이스를 스네이크 케이스로 변환시키고 있습니다.
like_status -> likeStatus로 카멜케이스 적용해주세요

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

전 PR에서 희경님이 알려주셨는데 제가 옮기면서 또 까먹었네요..ㅜ
다시 수정하겠습니다 !!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

여기도 카멜케이스로 적용해주세요

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

마찬가지로 likeStatus로 변경해주세요

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

혹시 redis에선 트랜잭션을 어떻게 관리하나요?
테스트 코드 작성할 때 좋아요 기능 실행 중 에러 발생시키는 테스트 만들어서 key가 저장되는지 확인해보면 좋을 것 같네요

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

redis에서 트래잭션을 관리하는 방법은 크게 2가지가 존재한다고 합니다.
현재 프로젝트에서 사용중인 Lettuce(Redis Client)가 PlatformTransactionManager 구현체를 제공하지 않아서 JPA의 JpaTransactionManager를 사용해야 할것 같습니다. 적용 완료했습니다!

생각도 못하고 있었는데 알려주셔서 이번기회로 공부하게 되었습니다!! 아래 링크도 참고 바랍니다!
테스트 코드 작성할때 만들어보겠습니다.
https://wildeveloperetrain.tistory.com/137

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

여기도 카멜케이스 적용해주세요

@fnzl54 fnzl54 changed the title Be/feat/#91 [feat/#91] 좋아요 기능 API 구현 Sep 20, 2023
@fnzl54 fnzl54 merged commit 940e620 into develop Sep 20, 2023
@gmlrude gmlrude deleted the BE/feat/#91 branch May 6, 2024 11:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[feat] 좋아요 구현 API
2 participants