From 8e96f624ff6972e61bbbb132817dc096307e1fb5 Mon Sep 17 00:00:00 2001 From: jae-2024 Date: Mon, 16 Mar 2026 11:35:47 +0900 Subject: [PATCH] =?UTF-8?q?[#71]=20Refactor:=20NotificationControllerDocs?= =?UTF-8?q?=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/NotificationController.java | 3 ++- .../docs/NotificationControllerDocs.java | 27 +++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/src/main/java/Mua/Mua_backend/domain/notification/controller/NotificationController.java b/src/main/java/Mua/Mua_backend/domain/notification/controller/NotificationController.java index a6c3f42..2711021 100644 --- a/src/main/java/Mua/Mua_backend/domain/notification/controller/NotificationController.java +++ b/src/main/java/Mua/Mua_backend/domain/notification/controller/NotificationController.java @@ -1,6 +1,7 @@ package Mua.Mua_backend.domain.notification.controller; import Mua.Mua_backend.domain.member.entity.Member; +import Mua.Mua_backend.domain.notification.controller.docs.NotificationControllerDocs; import Mua.Mua_backend.domain.notification.dto.response.NotificationResponse; import Mua.Mua_backend.domain.notification.service.NotificationService; import lombok.RequiredArgsConstructor; @@ -13,7 +14,7 @@ @RestController @RequiredArgsConstructor @RequestMapping("/api/notifications") -public class NotificationController { +public class NotificationController implements NotificationControllerDocs { private final NotificationService notificationService; diff --git a/src/main/java/Mua/Mua_backend/domain/notification/controller/docs/NotificationControllerDocs.java b/src/main/java/Mua/Mua_backend/domain/notification/controller/docs/NotificationControllerDocs.java index 31c720d..3e4fc6c 100644 --- a/src/main/java/Mua/Mua_backend/domain/notification/controller/docs/NotificationControllerDocs.java +++ b/src/main/java/Mua/Mua_backend/domain/notification/controller/docs/NotificationControllerDocs.java @@ -17,6 +17,8 @@ import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PatchMapping; +import org.springframework.web.bind.annotation.PathVariable; import java.util.List; @@ -71,6 +73,31 @@ List getMyNotifications( ); + @Operation( + summary = "알림 읽음 처리", + description = """ + 특정 알림을 읽음 상태로 변경합니다. + + - 이미 읽은 알림이어도 요청은 정상 처리됩니다. + - 성공 시 200 OK를 반환합니다. + """ + ) + @ApiResponses({ + @ApiResponse( + responseCode = "200", + description = "알림 읽음 처리 성공" + ) + }) + @PatchMapping("/{notificationId}/read") + ResponseEntity readNotification( + @Parameter(description = "읽음 처리할 알림 ID", example = "1") + @PathVariable Long notificationId, + + @Parameter(hidden = true) + @AuthenticationPrincipal Member member + ); + + @Operation( summary = "내 알림 전체 삭제", description = """