package com.kidgrow.zuul.exception;
|
|
|
import com.kidgrow.common.exception.GlobalExceptionHandler;
|
import com.kidgrow.common.model.ResultBody;
|
import com.kidgrow.common.utils.WebUtils;
|
import com.kidgrow.zuul.service.AccessLogService;
|
import lombok.extern.slf4j.Slf4j;
|
|
import javax.servlet.ServletException;
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
import java.io.IOException;
|
|
|
/**
|
* 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
|
*
|
* @Description: 自定义签名错误处理类<br>
|
* @Project: <br>
|
* @CreateDate: Created in 2020/2/4 14:49 <br>
|
* @Author: <a href="4345453@kidgrow.com">liuke</a>
|
*/
|
@Slf4j
|
public class JsonSignatureDeniedHandler implements SignatureDeniedHandler {
|
private AccessLogService accessLogService;
|
|
public JsonSignatureDeniedHandler(AccessLogService accessLogService) {
|
this.accessLogService = accessLogService;
|
}
|
@Override
|
public void handle(HttpServletRequest request, HttpServletResponse response,
|
Exception exception) throws IOException, ServletException {
|
ResultBody resultBody = GlobalExceptionHandler.resolveException(exception,request.getRequestURI());
|
response.setStatus(resultBody.getHttpStatus());
|
// 保存日志
|
accessLogService.sendLog(request, response,exception);
|
WebUtils.writeJson(response, resultBody);
|
}
|
}
|