Springboot2.0处理自定义异常并返回json
这篇文章主要介绍了Springboot2.0处理自定义异常并返回json,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
1.编写自定义异常类
packagecn.jfjb.crud.exception;
/**
*@authorjohn
*@date2019/11/24-9:48
*/
publicclassUserNotExistExceptionextendsRuntimeException{
publicUserNotExistException(){
super("用户不存在");
}
}
2.处理自测试异常
packagecn.jfjb.crud.handler;
importcn.jfjb.crud.exception.UserNotExistException;
importorg.springframework.web.bind.annotation.ControllerAdvice;
importorg.springframework.web.bind.annotation.ExceptionHandler;
importorg.springframework.web.bind.annotation.ResponseBody;
importjava.util.HashMap;
importjava.util.Map;
/**
*@authorjohn
*@date2019/11/24-10:43
*/
@ControllerAdvice
publicclassMyExceptionHandler{
@ResponseBody
@ExceptionHandler(UserNotExistException.class)
publicMaphandleException(Exceptione){
Mapmap=newHashMap<>();
map.put("code","user.notexist");
map.put("message",e.getMessage());
returnmap;
}
}
3.配置application.yml文件(不配置的话无法获取exception)
server: error: include-exception:true
4.编写测试
packagecn.jfjb.crud.controller;
importcn.jfjb.crud.exception.UserNotExistException;
importorg.springframework.stereotype.Controller;
importorg.springframework.web.bind.annotation.RequestMapping;
importorg.springframework.web.bind.annotation.RequestParam;
/**
*@authorjohn
*@date2019/11/22-19:38
*/
@Controller
publicclassHelloController{
@RequestMapping({"/testException"})
publicStringtestException(@RequestParam("user")Stringuser){
if(user!="aaa"){
thrownewUserNotExistException();
}
return"index";
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。