From 371fbc0ce65d6b9fa40769a1df25823dc2ac970a Mon Sep 17 00:00:00 2001 From: kbyunghoon Date: Sun, 16 Feb 2025 05:32:33 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20X-Accel-Buffering=EC=9D=84=20=EC=82=AC?= =?UTF-8?q?=EC=9A=A9=ED=95=98=EC=97=AC=20SSE=20=EC=9D=91=EB=8B=B5=EB=A7=8C?= =?UTF-8?q?=20=EB=B2=84=ED=8D=BC=EB=A7=81=ED=95=98=EC=A7=80=20=EC=95=8A?= =?UTF-8?q?=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../alarm/presentation/AlarmController.java | 9 +++++++-- .../alarm/presentation/swagger/AlarmApi.java | 4 +++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/monicar-control-center/src/main/java/org/controlcenter/alarm/presentation/AlarmController.java b/monicar-control-center/src/main/java/org/controlcenter/alarm/presentation/AlarmController.java index b8509a0..daf69d8 100644 --- a/monicar-control-center/src/main/java/org/controlcenter/alarm/presentation/AlarmController.java +++ b/monicar-control-center/src/main/java/org/controlcenter/alarm/presentation/AlarmController.java @@ -1,5 +1,7 @@ package org.controlcenter.alarm.presentation; +import jakarta.servlet.http.HttpServletResponse; + import org.controlcenter.alarm.application.AlarmService; import org.controlcenter.alarm.domain.AlarmStatus; import org.controlcenter.alarm.presentation.dto.AlarmResponse; @@ -37,9 +39,12 @@ public class AlarmController implements AlarmApi { private final AlarmService alarmService; - @GetMapping(value = "/subscribe", produces = MediaType.TEXT_EVENT_STREAM_VALUE) + @GetMapping(value = "/subscribe") @PreAuthorize("hasRole('ROLE_USER')") - public SseEmitter subscribe(@AuthenticationPrincipal CustomUserDetails user) { + public SseEmitter subscribe( + HttpServletResponse response, + @AuthenticationPrincipal CustomUserDetails user) { + response.setHeader("X-Accel-Buffering", "no"); return alarmService.subscribe(user.getId()); } diff --git a/monicar-control-center/src/main/java/org/controlcenter/alarm/presentation/swagger/AlarmApi.java b/monicar-control-center/src/main/java/org/controlcenter/alarm/presentation/swagger/AlarmApi.java index 9c34db3..d63432b 100644 --- a/monicar-control-center/src/main/java/org/controlcenter/alarm/presentation/swagger/AlarmApi.java +++ b/monicar-control-center/src/main/java/org/controlcenter/alarm/presentation/swagger/AlarmApi.java @@ -15,12 +15,14 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.Valid; @Tag(name = "실시간 알람 API", description = "실시간 알람 API") public interface AlarmApi { @Operation(summary = "SSE 구독", description = "SSE 구독") - SseEmitter subscribe(@AuthenticationPrincipal CustomUserDetails user); + SseEmitter subscribe( + HttpServletResponse response, @AuthenticationPrincipal CustomUserDetails user); @Operation(summary = "알람 승인 API", description = "점검 필요 -> 점검 예정 -> 점검 진행 -> 점검 완료로 순차적으로 상태 변경") void next(