getWriter() has already been called for this response

我遇到的情况和网上其余网友的原因不太一样。搜索到的解决方法不能解决我的这个问题。(虽然这个报错不影响我的功能)

问题的解决也是参考网友的回复,提醒我了,才解决了这个问题。

报错原因:

我在Controller里面的方法返回JSON数据的时候,使用的是自己封装的一个方法,最后调用的是PrintWriter.write("返回内容");方法。方法是返回的是void,简单的贴一下代码(代码不全,仅供参考):

@RequestMapping("/list")
   
    public void list(HttpServletRequest request, @RequestParam Map param) {
		
	}

每次调用的时候,数据可以正常返回,就是报错“getWriter() has already been called for this response”。

在一个问答里面看到有网友答复提示到我了:没有指明返回的responsebody是json数据,默认返回的是html/text。可能是我的方法没有指明返回类型导致的。随后添加了@ResponseBody注解,问题解决。代码如下:

@RequestMapping("/list")
    @ResponseBody
    public void list(HttpServletRequest request, @RequestParam Map param) {
		
	}

做个记录以供参考。

你可能感兴趣的:(知新)