【原创】SpringMVC同一RequestMapping返回不同的类型

曾经在工作中遇到过导出文件时,需要根据不同情况返回不同的数据的情况。
例如:

  1. 如果没有数据,弹框提示“没有数据”
  2. 导出报错,弹框提示“系统错误”
  3. 正常情况下,下载文件
    也就是说需要在不同的情况下响应不同的返回消息.

    @RequestMapping("/totalPlan")
    @ResponseBody
    public R test(HttpServletRequest request, HttpServletResponse response, String code) throws IOException, ServletException {
    	if("json".equals(code)) {
    		R r = new R();
    		return r;
    	} else if("page".equals(code)) {
    		response.sendRedirect(request.getContextPath() + "/user.html");
    		return null;
    	} else if("file".equals(code))  {
    		request.getRequestDispatcher("").forward(request, response);
    	}
    	...
   }
原文地址:https://www.cnblogs.com/Candies/p/8533766.html