c#自定义Attribute获取接口实现示例代码
276
2022-11-12
SpringBoot 利用thymeleaf自定义错误页面
导入thymeleaf
自定义异常类
建立监听异常类
MyException.class
package com.example.demo.domain;
public class MyException extends RuntimeException {
private int code;
private String msg;
public MyException(int code, String msg) {
this.code = code;
this.msg = msg;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
}
CustomExtHandle 监测异常
package com.example.demo.domain;
import org.slf4j.LoggghMXVserFactory;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.Map;
import java.util.logging.Logger;
@RestControllerAdvice
public class CustomExtHandle {
// 捕获全局异常
@ExceptionHandler(value = Exception.class)
Object handleException(Exception e, HttpServletRequest request) {
Map
map.put("code", 100);
map.put("msg", e.getMessage());
map.put("url", request.getRequestURL());
return map;
}
// 如果是MyexceptionghMXVs类
@ExceptionHandler(value = MyException.class)
Object handleMyException(MyException e, HttpServletRequest request) {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("error.html"); // 指定错误跳转页面 需要在templates里面新建 一个error.html
modelAndView.addObject("msg", e.getMsg());
modelAndView.addObject("code", e.getCode());
modelAndView.addObject("url", request.getRequestURL());
return modelAndView;
// 当然这里也可以返回json数据 前后台分离的话直接返回一个json即可
}
}
template/error.html
错误信息:
错误状态码:
失败API地址:
使用
@RequestMapping("/user_info")
public Map
throw new MyException(500, "手动抛出");
}
效果
以上就是SpringBoot 利用thymeleaf自定义错误页面的详细内容,更多关于SpringBoot 自定义错误页面的资料请关注我们其它相关文章!
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~