Springboot2.0处理自定义异常并返回json
作者:if年少有为 时间:2021-06-01 03:42:24
这篇文章主要介绍了Springboot2.0处理自定义异常并返回json,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
1. 编写自定义异常类
package cn.jfjb.crud.exception;
/**
* @author john
* @date 2019/11/24 - 9:48
*/
public class UserNotExistException extends RuntimeException {
public UserNotExistException() {
super("用户不存在");
}
}
2. 处理自测试异常
package cn.jfjb.crud.handler;
import cn.jfjb.crud.exception.UserNotExistException;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.HashMap;
import java.util.Map;
/**
* @author john
* @date 2019/11/24 - 10:43
*/
@ControllerAdvice
public class MyExceptionHandler {
@ResponseBody
@ExceptionHandler(UserNotExistException.class)
public Map<String, Object> handleException(Exception e) {
Map<String, Object> map = new HashMap<>();
map.put("code", "user.notexist");
map.put("message", e.getMessage());
return map;
}
}
3. 配置application.yml文件(不配置的话无法获取exception)
server:
error:
include-exception: true
4. 编写测试
package cn.jfjb.crud.controller;
import cn.jfjb.crud.exception.UserNotExistException;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
* @author john
* @date 2019/11/22 - 19:38
*/
@Controller
public class HelloController {
@RequestMapping({"/testException"})
public String testException(@RequestParam("user") String user) {
if (user != "aaa") {
throw new UserNotExistException();
}
return "index";
}
}
来源:https://www.cnblogs.com/ifme/p/11921848.html
标签:spring,boot,2,处理,自定义,异常,返回,json
0
投稿
猜你喜欢
Java多线程的其他知识_动力节点Java学院整理
2023-09-06 06:01:58
C#实现二叉排序树代码实例
2021-10-10 06:26:12
Android实现未读消息小红点显示实例
2022-05-18 07:57:27
c#实现多线程局域网聊天系统
2022-12-01 23:34:25
解析Android 8.1平台SystemUI 导航栏加载流程
2023-06-23 15:21:21
Java 实战范例之线上婚纱摄影预定系统的实现
2021-08-08 14:19:42
Android拼接实现动态对象方法详解
2021-12-23 10:09:46
Java多线程:生产者与消费者案例
2021-06-30 05:47:08
Android实战教程第六篇之一键锁屏应用问题解决
2023-01-28 03:13:22
SpringBoot整合SpringSecurity实现JWT认证的项目实践
2022-06-23 22:09:09
c#中文转unicode字符示例分享
2022-05-26 05:07:47
解决java.util.NoSuchElementException异常的问题
2023-02-10 08:26:46
java中Hashmap的get方法使用
2023-10-29 13:10:05
C#端口扫描器的编写方法
2023-12-17 17:47:24
Android Jetpack组件中LifeCycle作用详细介绍
2022-05-14 04:56:15
详谈java 堆区、方法区和栈区
2023-11-23 18:35:22
java使用动态代理来实现AOP(日志记录)的实例代码
2023-11-28 22:34:45
android当前apn的状态以及获取方法
2022-06-20 14:52:25
Java线程的调度与优先级详解
2023-04-30 13:48:13
Java中常用的6种排序算法详细分解
2022-01-08 20:19:18