@ControllerAdvice注解
@ControllerAdvice注解的三种应用场景
全局异常处理
全局数据绑定
步骤一:
package com.xgcd.lab.aop.controllerAdvice; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ModelAttribute; import java.util.HashMap; import java.util.Map; @ControllerAdvice public class GlobalDataHandler { /*@ModelAttribute里的value-“info”:指的是返回数据的 key ; 方法返回值是 返回数据的value。*/ @ModelAttribute(value = "info") public Map<String, Object> globalHadler() { HashMap<String, Object> map = new HashMap<>(); map.put("name", "习惯沉淀"); map.put("address", "北京"); return map; } }
@ModelAttribute里的value-“info”:指的是返回数据的 key ;
方法返回值是 返回数据的value。
此时在任意请求的 Controller 中,通过方法参数中的 Model 都可以获取 info 的数据。
步骤二:
package com.xgcd.lab.controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.Iterator; import java.util.Map; import java.util.Set; @RestController @RequestMapping("/globalDataBind") public class GlobalDataBindController { @GetMapping("/globalData") public String globalData(Model model) { Map<String, Object> map = model.asMap(); Set<String> keySet = map.keySet(); Iterator<String> iterator = keySet.iterator(); String globalDataBindResult = ""; while (iterator.hasNext()) { String key = iterator.next(); globalDataBindResult = " key 是:" + key + " value 是 :" + map.get(key); } return "@ControllerAdvice全局数据绑定" + globalDataBindResult; } }
全局数据预处理
感谢
https://blog.csdn.net/Kevin__Coder/article/details/104505081
https://www.cnblogs.com/lenve/p/10748453.html
作者:习惯沉淀
如果文中有误或对本文有不同的见解,欢迎在评论区留言。
如果觉得文章对你有帮助,请点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
扫码关注一线码农的学习见闻与思考。
回复"大数据","微服务","架构师","面试总结",获取更多学习资源!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2018-02-28 IntelliJ IDEA使用教程 (总目录篇)