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.");
        }
    }
    

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

  • 相关阅读:
    《Programming WPF》翻译 第6章 3.二进制资源
    《Programming WPF》翻译 第5章 前言
    谈谈粒子系统
    GameFramework的初步设计
    引擎层次化设计
    关于HeapCreate(1)
    新的引擎ZeusEngine
    最短路径算法介绍
    Max导出插件
    游戏中的光影效果
  • 原文地址:https://www.cnblogs.com/youcoding/p/13186091.html
Copyright © 2011-2022 走看看