单独通过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,根据实际给个默认处理

}