不知道什么意思,应该从何改起

这是一个学霸王系统,但是在显示上出现了错误,这个错误意思是什么?从何改起?

img

把SuperServiceImp的代码贴出看看,这是空指针错误。

  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7787610
  • 这篇博客你也可以参考下:画出下列伪代码程序的流程图,计算它的环形复杂度。这个程序的逻辑有什么问题吗?
  • 除此之外, 这篇博客: 面试不是无情物,参数注解知多少?中的 无注解接收参数 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 还有一种情况,放在最后,我们在接口的时候请求参数没有任何注解,也可以接收到请求的参数。看下面去掉@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