forked from kidgrow-microservices-platform

zhaoxiaohao
2020-11-17 b7265cdd6f3e1fbb0d428c27e5b5e29e34d56953
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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);
    }
}