Skip to content

Commit 9e79452

Browse files
robbyzhaoxStudiousXiaoYu
authored andcommitted
Refactor getContentFromChatResponse method to use Optional for null handling
Signed-off-by: StudiousXiaoYu <[email protected]>
1 parent 3396b41 commit 9e79452

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

spring-ai-core/src/main/java/org/springframework/ai/chat/client/DefaultChatClient.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import java.util.HashMap;
2727
import java.util.List;
2828
import java.util.Map;
29+
import java.util.Optional;
2930
import java.util.concurrent.ConcurrentHashMap;
3031
import java.util.function.Consumer;
3132

@@ -48,11 +49,13 @@
4849
import org.springframework.ai.chat.client.observation.ChatClientObservationConvention;
4950
import org.springframework.ai.chat.client.observation.ChatClientObservationDocumentation;
5051
import org.springframework.ai.chat.client.observation.DefaultChatClientObservationConvention;
52+
import org.springframework.ai.chat.messages.AbstractMessage;
5153
import org.springframework.ai.chat.messages.Message;
5254
import org.springframework.ai.chat.messages.MessageType;
5355
import org.springframework.ai.chat.messages.UserMessage;
5456
import org.springframework.ai.chat.model.ChatModel;
5557
import org.springframework.ai.chat.model.ChatResponse;
58+
import org.springframework.ai.chat.model.Generation;
5659
import org.springframework.ai.chat.model.StreamingChatModel;
5760
import org.springframework.ai.chat.model.ToolContext;
5861
import org.springframework.ai.chat.prompt.ChatOptions;
@@ -493,11 +496,11 @@ private ChatResponse doGetChatResponse(DefaultChatClientRequestSpec inputRequest
493496

494497
@Nullable
495498
private static String getContentFromChatResponse(@Nullable ChatResponse chatResponse) {
496-
if (chatResponse == null || chatResponse.getResult() == null || chatResponse.getResult().getOutput() == null
497-
|| chatResponse.getResult().getOutput().getText() == null) {
498-
return null;
499-
}
500-
return chatResponse.getResult().getOutput().getText();
499+
return Optional.ofNullable(chatResponse)
500+
.map(ChatResponse::getResult)
501+
.map(Generation::getOutput)
502+
.map(AbstractMessage::getText)
503+
.orElse(null);
501504
}
502505

503506
@Override

0 commit comments

Comments
 (0)