这是一个学霸王系统,但是在显示上出现了错误,这个错误意思是什么?从何改起?
把SuperServiceImp的代码贴出看看,这是空指针错误。
还有一种情况,放在最后,我们在接口的时候请求参数没有任何注解,也可以接收到请求的参数。看下面去掉@RequestParam 注解
@RequestMapping(value = "/hello5",method = {RequestMethod.GET,RequestMethod.POST})
public String play5(String name,String sex, HttpServletRequest request){
Map<String, String[]> map=request.getParameterMap();
for(Map.Entry<String, String[]> entry:map.entrySet()){
System.out.println(entry.getKey()+":"+Arrays.toString(entry.getValue()));
}
return name+",你好! \n你的性别是:"+sex;
}
并且还支持参数非必传。
我们再试试不用@RequestBody 注解
@RequestMapping(value = "/hello6",method = {RequestMethod.GET,RequestMethod.POST})
public String play6( User user){
return user.getName()+",你好! \n你的性别是:"+user.getSex();
}
发现并没有获取到值。
造成上述的原因:其实是默认是使用@RequestParam 注解,且 ruquires=false。所以当我们使用注解的时候,单个的参数也可以直接获取到。
NPE是最容易解决的异常,点击报错的第2行,蓝色的地方,会跳到发生空指针异常的代码位置,在这个地方打一个断点,然后通过debug方式启动,不要run