SpringBoot项目中,异常拦截
SpringBoot自带异常拦截@ControllerAdvice
1.创建一个SellerExceptionHandler类打上@ControllerAdvice标签
@ControllerAdvice public class SellExceptionHandler { }
2.创建异常处理程序@ExceptionHandler(value = SellerAuthorizeException.class)表示拦截的异常为SellerAuthorizeException异常
/** * 拦截登录异常 * @return */ @ExceptionHandler(value = SellerAuthorizeException.class) public ModelAndView handlerAuthorizeException(){ return new ModelAndView("redirect:" + projectUrlConfig.getSell() + "/sell/seller/toLogin"); }
3.处理异常,返回json格式内容,并且改变错误状态码
3.1发生异常
3.2处理异常
@ExceptionHandler(value = SellException.class) @ResponseBody public ResultVO handlerSellException(SellException e) { return ResultVOUtil.error(e.getCode(), e.getMessage()); }
但是这里就会有一个问题,不报错了,返回状态码为200,即正确
3.3@ResponseStatus(HttpStatus.FORBIDDEN),设定返回状态码
@ExceptionHandler(value = SellException.class) @ResponseBody @ResponseStatus(HttpStatus.FORBIDDEN) public ResultVO handlerSellException(SellException e) { return ResultVOUtil.error(e.getCode(), e.getMessage()); }
分类:
java开发程序常用知识
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
2018-01-28 Python天天学_03_基础三