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()); + } + +}