千家信息网

Springboot2.0中如何处理自定义异常并返回json

发表于:2025-01-30 作者:千家信息网编辑
千家信息网最后更新 2025年01月30日,本文小编为大家详细介绍"Springboot2.0中如何处理自定义异常并返回json",内容详细,步骤清晰,细节处理妥当,希望这篇"Springboot2.0中如何处理自定义异常并返回json"文章能
千家信息网最后更新 2025年01月30日Springboot2.0中如何处理自定义异常并返回json

本文小编为大家详细介绍"Springboot2.0中如何处理自定义异常并返回json",内容详细,步骤清晰,细节处理妥当,希望这篇"Springboot2.0中如何处理自定义异常并返回json"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

1. 编写自定义异常类

package cn.jfjb.crud.exception;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;@ControllerAdvicepublic class MyExceptionHandler {  @ResponseBody  @ExceptionHandler(UserNotExistException.class)  public Map handleException(Exception e) {    Map 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;@Controllerpublic class HelloController {    @RequestMapping({"/testException"})  public String testException(@RequestParam("user") String user) {    if (user != "aaa") {      throw new UserNotExistException();    }    return "index";  }}

读到这里,这篇"Springboot2.0中如何处理自定义异常并返回json"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。

0