From aae154461e8203d587c9d45b80616e146433e109 Mon Sep 17 00:00:00 2001 From: Looly Date: Sat, 27 Aug 2022 00:40:11 +0800 Subject: [PATCH] fix code --- CHANGELOG.md | 3 ++- .../src/main/java/cn/hutool/json/jwt/JWT.java | 8 +++++--- .../java/cn/hutool/json/jwt/JWTUtilTest.java | 18 ++++++++++++++++++ 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 36c9eb3cb..c7f0577c4 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ ------------------------------------------------------------------------------------------------------------- -# 6.0.0.M1 (2022-07-17) +# 6.0.0.M1 (2022-08-27) ### 计划实现 * 【poi 】 PDF相关(基于PdfBox) @@ -11,6 +11,7 @@ * 【poi 】 Markdown相关(如HTML转换等),基于commonmark-java * 【db 】 增加DDL封装 * 【json 】 实现自定义的类型转换,不影响全局的转换器 +* 【core 】 Functional接口重新定义 ### ❌不兼容特性 diff --git a/hutool-json/src/main/java/cn/hutool/json/jwt/JWT.java b/hutool-json/src/main/java/cn/hutool/json/jwt/JWT.java index e96942ab0..9b009e977 100755 --- a/hutool-json/src/main/java/cn/hutool/json/jwt/JWT.java +++ b/hutool-json/src/main/java/cn/hutool/json/jwt/JWT.java @@ -88,10 +88,12 @@ public class JWT implements RegisteredPayload { /** * 解析JWT内容 * - * @param token JWT Token字符串,格式为xxxx.yyyy.zzzz + * @param token JWT Token字符串,格式为xxxx.yyyy.zzzz,不能为空 * @return this + * @throws IllegalArgumentException 给定字符串为空 */ - public JWT parse(final String token) { + public JWT parse(final String token) throws IllegalArgumentException { + Assert.notBlank(token, "Token String must be not blank!"); final List tokens = splitToken(token); this.tokens = tokens; this.header.parse(tokens.get(0), this.charset); @@ -269,7 +271,7 @@ public class JWT implements RegisteredPayload { /** * 获取payload并获取类型 * - * @param Bean类型 + * @param Bean类型 * @param propertyName 需要提取的属性名称 * @param propertyType 需要提取的属性类型 * @return 载荷信息 diff --git a/hutool-json/src/test/java/cn/hutool/json/jwt/JWTUtilTest.java b/hutool-json/src/test/java/cn/hutool/json/jwt/JWTUtilTest.java index da85fcaba..fe7b8fdf5 100755 --- a/hutool-json/src/test/java/cn/hutool/json/jwt/JWTUtilTest.java +++ b/hutool-json/src/test/java/cn/hutool/json/jwt/JWTUtilTest.java @@ -43,6 +43,24 @@ public class JWTUtilTest { Assert.assertEquals(true, jwt.getPayload("admin")); } + @Test(expected = IllegalArgumentException.class) + public void parseNullTest(){ + // https://gitee.com/dromara/hutool/issues/I5OCQB + JWTUtil.parseToken(null); + } + + @Test(expected = IllegalArgumentException.class) + public void parseEmptyTest(){ + // https://gitee.com/dromara/hutool/issues/I5OCQB + JWTUtil.parseToken(""); + } + + @Test(expected = IllegalArgumentException.class) + public void parseBlankTest(){ + // https://gitee.com/dromara/hutool/issues/I5OCQB + JWTUtil.parseToken(" "); + } + @Test public void verifyTest(){ final String token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9." +