zoukankan      html  css  js  c++  java
  • 注解 @ControllerAdvice 的 3 种用法

    1、处理全局异常

    比如,上传文件大小超出限制时,使用 @ControllerAdvice 处理这异常。

    如下:

    @ControllerAdvice // 处理全局异常的注解
    public class MyCustomException {
       @ExceptionHandler(MaxUploadSizeExceededException.class)
        public void myexception(MaxUploadSizeExceededException e, HttpServletResponse response) throws IOException {
            response.setContentType("text/html;charset=utf-8");
            PrintWriter out = response.getWriter();
            out.write("上传大小超出限制!");
            out.flush();
            out.close();
        }
    

    2、预设全局数据

    比如:

    @ControllerAdvice
    public class GlobalData {
        @ModelAttribute
        public Map<String, Object> mydata(){
            Map<String, Object> map = new HashMap<>();
            map.put("name","you");
            map.put("address", "www.you.com");
            return map;
        }
    }
    

    3、请求参数预处理

    比如:

    @ControllerAdvice
    public class GlobalData {
        @InitBinder("a")
        public void initA(WebDataBinder binder){
            binder.setFieldDefaultPrefix("a.");
        }
    
        @InitBinder("b")
        public void initB(WebDataBinder binder){
            binder.setFieldDefaultPrefix("b.");
        }
    }
    

    每天学习一点点,每天进步一点点。

  • 相关阅读:
    【BZOJ4903】
    nuxt中引入svg
    vue-spa微信分享,在ios端,分享不成功的原因及解决办法
    安装包
    nuxt中刷新页面后防止store值丢失
    nuxt项目如何设置代理接口
    nuxt引入jquery和bootstrap
    如何在nuxt中引入scss
    创建nuxt项目
    微信分享
  • 原文地址:https://www.cnblogs.com/youcoding/p/13186091.html
Copyright © 2011-2022 走看看