Skip to content

[4주차] 임현성/[feat] 추가 API 구현 #142

@HyeonSeongIM

Description

@HyeonSeongIM

1. 무엇을?

게시글 및 댓글 신고(Report) 시스템 구현: 단순 CRUD를 넘어 중복 신고 방지와 상태 관리 로직을 포함한 API를 구현
도메인 상태(State) 관리 도입: 신고 누적 횟수에 따라 게시글/댓글의 노출 상태 자동 제어
전역 예외 처리 적용: 지난 주차 피드백을 반영하여 BusinessException 기반의 공통 예외 처리를 전 도메인에 적용

2. 상세 설명

중복 처리 방지 로직: 동일한 사용자가 특정 게시글이나 댓글을 중복해서 신고할 수 없도록 DB에서 기존 신고 이력을 확인하는 검증 로직을 Service 레이어에 구현합니다.
상태(State) 변화 설계:
Post/Comment: ACTIVE(기본), HIDDEN(신고 누적 시 자동 전환)
Report: PENDING(접수), RESOLVED(처리 완료)
자동화 로직: 특정 도메인(Post/Comment)의 신고 횟수가 임계치(예: 5회)에 도달하면 해당 도메인의 상태를 HIDDEN으로 즉시 변경하여 목록 조회에서 제외시킵니다.
파일/레이어 범위: Report 엔티티 및 Repository 추가, 기존 Post/Comment 도메인에 상태값 추가, Admin 전용 신고 처리 Service 구현

3. 제출 전 체크 계획

  • 프로젝트가 정상 실행되는지 확인
  • GET /health 요청 정상 응답 확인
  • POST /string/repeat JSON 응답 요구사항 확인
  • Controller와 Service 분리 구조 확인

4. 추가 사항

5. 권장 추가 구현(선택)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions