非全局异常捕获方式(任意地方获取request与response)
package com.gilite.cn.qspcommon.handler;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.gilite.cn.qspmodle.Enums.RepStatusCode;
import com.gilite.cn.qspmodle.module.ResultEntity;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
/**
* @program: UnControllerExceptionHander
* @description: 非controller异常捕获方式
* @author: douxiaoliang
* @create: 2020-07-08 09:43
* @Version V1.0
**/
@Slf4j
public class UnControllerExceptionHander {
public static void hander(ResultEntity resultEntity){
HttpServletResponse response = ((ServletRequestAttributes) RequestContextHolder
.getRequestAttributes()).getResponse();
response.setCharacterEncoding(“UTF-8”);
response.setContentType(“text/html;charset=utf-8”);
try (PrintWriter outputStream = response.getWriter()){
outputStream.write(new ObjectMapper().writeValueAsString(resultEntity));
} catch (IOException e) {
log.error(e.getMessage());
}
}
}