孙永军 1 жил өмнө
parent
commit
d96b205878

+ 6 - 6
src/main/java/com/sxtvs/open/api/review/controller/SseController.java

@@ -13,8 +13,11 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
 
+import java.io.IOException;
+
 @Controller
 @RequestMapping("/user")
+@NoAPIResponse
 public class SseController {
 
     @Resource
@@ -22,14 +25,11 @@ public class SseController {
 
     @GetMapping(path = "/sse", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
     @NoAPIResponse
-    public SseEmitter handleSse(@RequestParam("token") String token/*, HttpServletResponse response*/)  {
+    public SseEmitter handleSse(@RequestParam("token") String token) throws IOException {
         SseEmitter sseEmitter = new SseEmitter(0L); // 设置超时时间
         sseService.monitor(token, sseEmitter);
-//        response.setHeader("Content-Type",  "text/event-stream");
-//        response.setHeader("Cache-Control", "no-cache");
-//        response.setHeader("Connection", "keep-alive");
-//        response.setHeader("Accept", "text/event-stream");
-//        response.setHeader("syj", "---");
+        sseEmitter.send(SseEmitter.event().name("hello").data("hello"));
+
         return sseEmitter;
     }
 }

+ 3 - 1
src/main/java/com/sxtvs/open/core/advice/APIResponseAdvice.java

@@ -129,7 +129,9 @@ public class APIResponseAdvice implements ResponseBodyAdvice<Object> {
                                   Class<? extends HttpMessageConverter<?>> selectedConverterType,
                                   ServerHttpRequest request, ServerHttpResponse response) {
 
-
+        if(MediaType.TEXT_EVENT_STREAM_VALUE.equals(selectedContentType.toString())){
+            return body;
+        }
         ResponseMsg responseMsg = returnType.getMethodAnnotation(ResponseMsg.class);
         String msg = "OK";