Skip to content

Conversation

@joyewon0705
Copy link
Collaborator

📌 개요

  • 로그인한 사용자가 본인 게시글을 수정하거나 삭제할 수 있는 API를 구현했습니다.
  • Controller, Service, Test, Swagger 문서화를 포함합니다.

🔨 작업 내용

  1. Controller

    • PostController#updatePost

      • PUT /api/posts/{postId}
      • 요청 DTO(PostRequest) + 인증 사용자(CustomUserDetails)
      • 수정 성공 시 200 OK + 수정된 게시글 정보 반환
    • PostController#deletePost

      • DELETE /api/posts/{postId}
      • 인증 사용자만 접근 가능
      • 삭제 성공 시 200 OK + 메시지 반환
  2. Service

    • PostService#updatePost

      • 게시글 조회 (POST_NOT_FOUND)
      • 작성자 검증 (POST_NO_PERMISSION)
      • 제목/내용/카테고리 업데이트
      • 존재하지 않는 카테고리 포함 시 CATEGORY_NOT_FOUND
      • PostResponse 반환
    • PostService#deletePost

      • 게시글 조회 (POST_NOT_FOUND)
      • 작성자 검증 (POST_NO_PERMISSION)
      • 게시글 삭제
  3. DTO

    • PostRequest, PostResponse 재활용
  4. Test

    • 서비스 테스트

      • 수정 성공 → 제목/내용/카테고리 변경 확인
      • 수정 실패 → 게시글 없음, 작성자 아님, 카테고리 없음
      • 삭제 성공 → DB에서 게시글 제거
      • 삭제 실패 → 게시글 없음, 작성자 아님
    • 컨트롤러 테스트 (MockMvc)

      • 수정 성공 → 200 OK
      • 수정 실패 → 404 Not Found, 403 Forbidden, 400 Bad Request, 401 Unauthorized
      • 삭제 성공 → 200 OK
      • 삭제 실패 → 404 Not Found, 403 Forbidden, 401 Unauthorized
  5. Swagger 문서 (PostControllerDocs)

    • 게시글 수정 API 문서화

      • 성공/실패 응답 JSON 예시
    • 게시글 삭제 API 문서화

      • 성공/실패 응답 JSON 예시
    • 에러 케이스:

      • POST_NOT_FOUND, POST_NO_PERMISSION, CATEGORY_NOT_FOUND
      • COMMON_400, AUTH_001~004, COMMON_500

🔗 관련 이슈

Closes #131

📝 참고 사항

✅ 체크리스트

  • 기능 동작 확인
  • 테스트 코드 작성
  • 문서/주석 추가 및 최신화

@github-actions github-actions bot changed the title Feat: 게시글 수정 및 삭제 API 구현 Feat: 게시글 수정 및 삭제 API 구현 (#131) Oct 2, 2025
@joyewon0705 joyewon0705 merged commit 5c6666b into dev Oct 2, 2025
2 checks passed
@github-actions github-actions bot deleted the Feat/131 branch October 2, 2025 03:34
namgigun pushed a commit that referenced this pull request Oct 4, 2025
* Feat: 게시글 수정 API 구현

* FeaTest: 테스트 작성

* Docs: Swagger 문서 작성

* Feat: 게시글 삭제 API 구현

* Test: 테스트 작성

* Docs: Swagger 문서 작성
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.

4 participants