-
Notifications
You must be signed in to change notification settings - Fork 0
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/house service] 빈집 게시글 API 추가 개발 #188
Conversation
썸네일 이미지 주소 값 추가
게시글 내용에서 게시글 작성자 닉네임으로 변경
기능 명세서 상에 층수 데이터 표기가 바뀜에 따라 한 개의 컬럼으로 관리하기로 결정
빈집 게시글 신고 플래그 및 사유 컬럼 추가, 검색 조건 수정
일반 유저의 빈집 게시글인 경우, 관리자 승인 신청 상태로 변경 및 게시글 목록 조회 조건 수정
스크랩 여부 플래그 전달을 위해 로그인과 비로그인 유저에 대해 분리
로그인 유저의 빈집 게시글 상세 조회, 신고하기 API 문서화
관리자페이지에서 승인 혹은 반려 처리가 가능함에 따라 boolean에서 enum으로 데이터 관리 방식 변경
더미 데이터의 리뷰 상태 승인으로 변경
망나니개발자-aop 기반 유효성 검증 참고하여 리펙토링 하였습니다. |
혹시 @Validation 어노테이션을 사용하지 않고, 직접 커스텀해서 검증을 한 이유가 있나요? |
기존 로직이 유효하지 않음을 확인하여, ConstraintValidator를 이용하는 로직으로 수정
더미 데이터에 10,000자의 내용이 담겨 있음
좀 전에 수정해서 올려두었습니다!! |
게시글의 내용에 해당하는 DTO 변수인 따라서 커스터마이징을 통해 순수 게시글의 내용 값을 추출하고 그 길이가 10,000자를 넘기는 지의 여부를 확인할 필요가 있었으며, 관심사의 분리를 위해 AOP 기반으로 구성하였습니다. 빈집 게시글 외에도 주말의집 서비스 내에서 게시글 내용에 대한 길이 유효성 검사가 필요한 경우, 글로벌하게 사용할 수 있도록 feild에 한해 유효성 검사를 하는 어노테이션으로 구성하였습니다.! |
REJECT("반려"), | ||
} | ||
|
||
@Converter(autoApply = true) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
enum class를 이렇게 converting할 수 있네요! 이렇게 되면 DB에는 그대로 enum값으로 저장될 것 같은데 enum의 value값은 어디서 사용되나요??
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
추후 관리자 페이지나 프론트에서 해당 value를 요청할 수도 있고, 개발자가 유지보수하기에도 각각의 enum이 어떤 것을 의미하는 지 알 수 있도록 명시적으로 표현하고 싶었습니다!
.limit(pageable.pageSize.toLong()) | ||
.offset(pageable.offset) | ||
.fetch() | ||
val countQuery = jpaQueryFactory |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
count query 적용 멋지십니다 !! 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Validation 으로는 한계가 있었군요,,., 고생하셨습니다!!
더미 데이터 글자수 10502로 세팅
기존 코드에서 유효성 검증 로직을 반대로 구현해서 해당 부분 수정하였습니다~! MockEntity에서 글자수 10502자로 세팅해두었습니다.!! |
Kudos, SonarCloud Quality Gate passed! |
주요 작업 내용
#187 빈집 게시글 신고/ 임시저장/ 스크랩 기능 구현 및 문서 발행
작업 내용
변경점
이유 : 컨트롤러 단에서 유저 데이터를 받아오기 때문에, API 분리 결정
CheckList