diff --git a/src/main/java/com/hanserwei/airobot/config/CorsConfig.java b/src/main/java/com/hanserwei/airobot/config/CorsConfig.java new file mode 100644 index 0000000..a0a6cea --- /dev/null +++ b/src/main/java/com/hanserwei/airobot/config/CorsConfig.java @@ -0,0 +1,19 @@ +package com.hanserwei.airobot.config; + +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.CorsRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +@Configuration +public class CorsConfig implements WebMvcConfigurer { + + @Override + public void addCorsMappings(CorsRegistry registry) { + registry.addMapping("/**") // 匹配所有路径 + .allowedOriginPatterns("*") // 允许所有域名(生产环境应指定具体域名) + .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS") // 允许的请求方法 + .allowedHeaders("*") // 允许所有请求头 + .allowCredentials(true) // 允许发送 Cookie + .maxAge(3600); // 预检请求的有效期(秒) + } +} \ No newline at end of file diff --git a/src/main/java/com/hanserwei/airobot/controller/OpenAIController.java b/src/main/java/com/hanserwei/airobot/controller/OpenAIController.java index 19157ff..04cb942 100644 --- a/src/main/java/com/hanserwei/airobot/controller/OpenAIController.java +++ b/src/main/java/com/hanserwei/airobot/controller/OpenAIController.java @@ -5,6 +5,7 @@ import org.springframework.ai.chat.messages.UserMessage; import org.springframework.ai.chat.model.Generation; import org.springframework.ai.chat.prompt.Prompt; import org.springframework.ai.openai.OpenAiChatModel; +import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; @@ -36,7 +37,7 @@ public class OpenAIController { * @param message 对话输入内容 * @return 对话结果 */ - @GetMapping(value = "/generateStream", produces = "text/html;charset=utf-8") + @GetMapping(value = "/generateStream", produces = MediaType.TEXT_EVENT_STREAM_VALUE) public Flux generateStream(@RequestParam(value = "message", defaultValue = "你是谁?") String message) { // 构建提示词 Prompt prompt = new Prompt(new UserMessage(message));