zoukankan      html  css  js  c++  java
  • @ControllerAdvice注解的使用

    package com.vcredit.ddcash.monitor.controller;

    import com.vcredit.ddcash.monitor.model.dto.Response;
    import freemarker.template.utility.StringUtil;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.ControllerAdvice;
    import org.springframework.web.bind.annotation.ExceptionHandler;
    import org.springframework.web.bind.annotation.ResponseBody;

    import javax.servlet.http.HttpServletRequest;
    import java.util.Enumeration;
    import java.util.HashMap;
    import java.util.Locale;
    import java.util.Map;

    /**
    * Created by guanshuli on 2017/1/11.
    */
    @ControllerAdvice
    public class GlobalExceptionHandler {
    public static final String DEFAULT_ERROR_VIEW = "error";
    public static Logger logger = LoggerFactory.getLogger(GlobalExceptionHandler.class);

    @ExceptionHandler(value = Throwable.class)
    @ResponseBody
    public Object defaultErrorHandler(Throwable e,
    HttpServletRequest request) {
    Response response=new Response();
    e.printStackTrace();
    response.setStatus("接口异常");
    response.setMsg("网络异常,请稍后重试");
    this.writeLog(request, e);
    return response;
    }

    private void writeLog(HttpServletRequest request, Throwable e) {
    Map<String, String> map = new HashMap<String, String>();
    Enumeration<String> enumeration = request.getHeaderNames();
    while (enumeration.hasMoreElements()) {
    String str = enumeration.nextElement().toString();
    map.put(str, request.getHeader(str));
    }
    map.put("getRequestURI", request.getRequestURI());
    logger.error("请求异常,请求头:{};", map.toString(), e);

    }
    }

  • 相关阅读:
    Halcon二维仿射变换实例探究
    redis主从+哨兵实战
    单点安装redis+哨兵
    一个学习技术不错的网站
    reset master 不能乱用呀
    MySQL 5.7基于GTID的主从复制实践
    『浅入深出』MySQL 中事务的实现
    使用二进制包安装mysql
    jenkins+gitlab
    mysql的Innodb存储引擎提一嘴
  • 原文地址:https://www.cnblogs.com/muliu/p/6273740.html
Copyright © 2011-2022 走看看