【原创】SpringMVC同一RequestMapping返回不同的类型
曾经在工作中遇到过导出文件时,需要根据不同情况返回不同的数据的情况。
例如:
- 如果没有数据,弹框提示“没有数据”
- 导出报错,弹框提示“系统错误”
- 正常情况下,下载文件
也就是说需要在不同的情况下响应不同的返回消息.
@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);
}
...
}