springmvc RequestMappingHandlerAdapter#invokeHandlerMethod 通过ServletInvocableHandlerMethod#invokeAndHandle调用目标方法,并处理返回值。
如果return value != null,则通过returnvalueHandlers处理,内部会调用MessageConverter转换成相应的报文格式。
@RequestMapping(value = "xxx", method = {RequestMethod.POST, RequestMethod.GET}) @ResponseBody public String handleKafkaSpecialMessage(HttpServletRequest request, HttpServletResponse response) { response.setContentType("application/json"); return "xxx"; }
改一下返回值就好了
@RequestMapping(value = "xxx", method = {RequestMethod.POST, RequestMethod.GET}) @ResponseBody public void handleKafkaSpecialMessage(HttpServletRequest request, HttpServletResponse response) { response.setContentType("application/json"); try(OutputStream ros = response.getOutputStream()) { IOUtils.write("xxx", ros); ros.flush(); } catch (IOException e) { } }