From efcf4349707cf6fa3d0b5d82dca532547afe417a Mon Sep 17 00:00:00 2001 From: wangxiang <1827945911@qq.com> Date: Fri, 16 Sep 2022 02:01:14 +0800 Subject: [PATCH] =?UTF-8?q?:rocket:=20=E9=9B=86=E6=88=90SSE,=E8=A7=A3?= =?UTF-8?q?=E5=86=B3=E4=B9=B1=E7=A0=81=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commonbiz/controller/MapLogisticSseController.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/MapLogisticSseController.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/MapLogisticSseController.java index 83c63ea5..62c5624a 100644 --- a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/MapLogisticSseController.java +++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/MapLogisticSseController.java @@ -18,6 +18,10 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + /** *
* 物流地图SSE长连接 控制层 @@ -40,14 +44,16 @@ public class MapLogisticSseController { private final OAuth2ClientContext oAuth2ClientContext; @Inner(false) - @GetMapping(value = "/subscribe", produces = { MediaType.TEXT_EVENT_STREAM_VALUE }) - public SseEmitter subscribe(String accessToken, String clientId) { + @GetMapping(value = "/subscribe") + public SseEmitter subscribe(String accessToken, String clientId, ServletResponse response) { OAuth2Authentication oAuth2Authentication = tokenStore.readAuthentication(accessToken); SecurityContext context = SecurityContextHolder.createEmptyContext(); context.setAuthentication(oAuth2Authentication); DefaultOAuth2AccessToken defaultOAuth2AccessToken = new DefaultOAuth2AccessToken(accessToken); oAuth2ClientContext.setAccessToken(defaultOAuth2AccessToken); SecurityContextHolder.setContext(context); + response.setContentType("text/event-stream;charset=UTF-8"); + response.setCharacterEncoding("UTF-8"); return iMapLogisticSseService.SseSubscribe(clientId); }