单独通过request确实也可以判断是请求是页面请求还是json请求的。可以通过代码取出request中header里的accept信息,实际的请求在得到这个字符串时,需要自己做点简单的适配。发一下我们之前的代码,你可以参考一下:
String requestAccept = request.getHeader("accept");
String contentType = "text/html";
//判断请求类型
if (StringUtils.isNotEmpty(requestAccept)) {
if (StringUtils.contains(requestAccept, "application/json") || StringUtils.contains(requestAccept, "text/javascript")
|| StringUtils.contains(requestAccept, "text/json")) {
contentType = "application/json";
}
}
if (contentType.equals("text/html")) {
// 需要返回页面
} else if (contentType.equals("application/json")) {
// 需要返回json
} else {
// 无法判断是页面还是json,根据实际给个默认处理
}