diff --git a/hutool-json/src/test/java/cn/hutool/json/IssueIAOPI9Test.java b/hutool-json/src/test/java/cn/hutool/json/IssueIAOPI9Test.java new file mode 100644 index 000000000..2355fd55e --- /dev/null +++ b/hutool-json/src/test/java/cn/hutool/json/IssueIAOPI9Test.java @@ -0,0 +1,44 @@ +package cn.hutool.json; + +import lombok.Data; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class IssueIAOPI9Test { + @Test + void toBeanTest() { + String jsonStr = "{\"chatCommandType\":\"CHAT_MSG\"}"; + ChatPublicAppReceiveMq mqChatRequest = JSONUtil.toBean(jsonStr, ChatPublicAppReceiveMq.class); + Assertions.assertEquals("CHAT_MSG", mqChatRequest.getChatCommandType().name()); + } + + @Data + static class ChatPublicAppReceiveMq { + private ChatAppMqCommandTypeEnum chatCommandType; + } + + public enum ChatAppMqCommandTypeEnum { + /** + * 对话消息 + */ + CHAT_MSG("chat_msg"), + + /** + * 对话消息(批量-群发) + */ + CHAT_MSG_BATCH("chat_msg_batch"), + /** + * 命令消息 + */ + COMMAND_MSG("command_msg") + ; + ChatAppMqCommandTypeEnum(String type) { + this.type = type; + } + + private String type; + public String getType() { + return type; + } + } +}