用法:统一处理异常,并接受前台传的token。
js 放置token
$.ajax({
url : loadUrl,
method : 'POST',
dataType: 'json',
data : bodyParam,
async:false,
/* beforeSend : function(request) {
request.setRequestHeader("Authorization", $api.getStorage("token"));
},*/
success:function(data,text){
},error: function(data, status, e) {
alert(系统内部错误);
},
complete: function(XMLHttpRequest, status) { //请求完成后最终执行参数
}
});
java
package com.navitek.maternal.common;
import com.alibaba.fastjson.JSON;
import com.navitek.maternal.common.utils.ResultUtils;
import com.navitek.maternal.common.utils.TokenUtils;
import com.navitek.maternal.common.utils.WebUtil;
import com.navitek.maternal.exception.BDException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.ExceptionHandler;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
/**
* @Auther: Administrator
* @Date: 2018/8/10 0010 14:27
* @Description:
*/
@Slf4j
public class BaseController {
/**
* httpServletRequest,httpServletResponse 线程安全直接引入。
*/
@Autowired
protected HttpServletRequest httpServletRequest;
@Autowired
protected HttpServletResponse httpServletResponse;
@ExceptionHandler
public void exp(HttpServletRequest request, HttpServletResponse response, Exception ex) throws IOException {
log.error("异常:",ex);
response.setCharacterEncoding("UTF-8");
response.setContentType("application/json; charset=utf-8");
PrintWriter pw = response.getWriter();
String msg = "服务器异常";
if(ex instanceof BDException){
BDException exception = (BDException) ex;
msg = exception.getMessage();
pw.print(JSON.toJSONString(ResultUtils.errorCode(exception.getCode(),msg)));
}else{
pw.print(JSON.toJSONString(ResultUtils.errorCode(500,msg)));
}
pw.flush();
pw.close();
}
/**
* 获取用户userId
*
* @return
*/
protected String getUserId() {
String token = httpServletRequest.getHeader("Authorization");
String userId = TokenUtils.getUserId(token);
return userId;
}
/**
* 获取token
*
* @return
*/
protected String getToken() {
String token = httpServletRequest.getHeader("Authorization");
return token;
}
protected int getPageNum() {
int pageNum = WebUtil.getParameterInt(httpServletRequest, "pageNum", 1);
return pageNum;
}
protected int getPageSize() {
int pageSize = WebUtil.getParameterInt(httpServletRequest, "pageSize", 10);
return pageSize;
}
}