From f451fa696053cbd442e89c6b32c548c4b9991ed8 Mon Sep 17 00:00:00 2001 From: pingpingy1 Date: Thu, 7 Mar 2024 22:09:51 +0900 Subject: [PATCH] =?UTF-8?q?=E5=A6=82=E6=9E=9CJsonInjector.get=E5=87=BD?= =?UTF-8?q?=E6=95=B0=E7=9A=84=E8=BE=93=E5=85=A5=E5=80=BC=E4=B8=BAnull?= =?UTF-8?q?=E9=9B=B6,=20=E5=88=99=E6=9B=B4=E6=94=B9=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mvc/adaptor/injector/JsonInjector.java | 3 ++- .../adaptor/injector/JsonInjectorTest.java | 24 +++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 test/org/nutz/mvc/adaptor/injector/JsonInjectorTest.java diff --git a/src/org/nutz/mvc/adaptor/injector/JsonInjector.java b/src/org/nutz/mvc/adaptor/injector/JsonInjector.java index 3e51cc6179..a9204a978e 100644 --- a/src/org/nutz/mvc/adaptor/injector/JsonInjector.java +++ b/src/org/nutz/mvc/adaptor/injector/JsonInjector.java @@ -2,6 +2,7 @@ import java.lang.reflect.Type; import java.util.Map; +import java.util.Objects; import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; @@ -33,7 +34,7 @@ public Object get( ServletContext sc, if (null == name) return Mapl.maplistToObj(refer, type); - Map map = (Map)refer; + Map map = (Map) Objects.requireNonNull(refer, "refer"); Object theObj = map.get(name); if (null == theObj) return null; diff --git a/test/org/nutz/mvc/adaptor/injector/JsonInjectorTest.java b/test/org/nutz/mvc/adaptor/injector/JsonInjectorTest.java new file mode 100644 index 0000000000..e455919d68 --- /dev/null +++ b/test/org/nutz/mvc/adaptor/injector/JsonInjectorTest.java @@ -0,0 +1,24 @@ +package org.nutz.mvc.adaptor.injector; + +import static org.junit.Assert.*; + +import org.junit.Test; + +/** + * @author Heewon Lee (pingpingy03@gmail.com) + */ +public class JsonInjectorTest { + + @Test + public void test_null_refer() { + // 准备数据 + JsonInjector inj = new JsonInjector(null, ""); + + // 检测 + Throwable exc = assertThrows(NullPointerException.class, () -> { + inj.get(null, null, null, null); + }); + assertEquals("refer", exc.getMessage()); + } + +}