From c96f37559216b18de99399d72886460154f7f8dc Mon Sep 17 00:00:00 2001 From: huangge1199 Date: Sat, 17 May 2025 13:10:09 +0800 Subject: [PATCH] =?UTF-8?q?ChatClient=E8=BF=94=E5=9B=9E=E5=93=8D=E5=BA=94?= =?UTF-8?q?=EF=BC=9A=E8=BF=94=E5=9B=9E=E5=AE=9E=E4=BD=93=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../aiagent/controller/ResControlle.java | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 src/main/java/com/huangge1199/aiagent/controller/ResControlle.java diff --git a/src/main/java/com/huangge1199/aiagent/controller/ResControlle.java b/src/main/java/com/huangge1199/aiagent/controller/ResControlle.java new file mode 100644 index 0000000..7e5ad51 --- /dev/null +++ b/src/main/java/com/huangge1199/aiagent/controller/ResControlle.java @@ -0,0 +1,43 @@ +package com.huangge1199.aiagent.controller; + +import com.huangge1199.aiagent.common.R; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.ai.chat.client.ChatClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * ResControlle + * + * @author huangge1199 + * @since 2025/5/17 12:23:36 + */ +@RestController +@RequestMapping("/res") +@Tag(name = "ChatClient返回响应") +public class ResControlle { + + private final ChatClient chatClient; + + public ResControlle(ChatClient.Builder builder) { + this.chatClient = builder.build(); + } + + record ActorFilms(String actor, List movies) { + } + + @PostMapping("/entity") + @Operation(summary = "实体返回") + public R entityRes(@RequestBody String question ) { + ActorFilms actorFilms = chatClient.prompt() + .user(question) + .call() + .entity(ActorFilms.class); + return R.ok(actorFilms); + } +}