14、SpringBoot------定制错误返回内容json格式

开发工具:STS

前言:

  在前后端分离的项目中,当前端向后端请求资源失败时,想知道具体的错误原因,给用户予以提示。

  但是,在springboot中返回内容是固定的。并不适合我们前端进行分析。

  所以,就研究了下如何定制错误返回内容。

  在开发之前,首先要明白springboot的异常处理机制。

  其实很简单,不过就是发现异常、解析异常、匹配异常要返回的内容、返回异常。

下面,我们来做一个简单实例:

我捕获的是shiro权限认证失败的异常:

 1 package com.xm.shiro.rbac;
 2 
 3 import java.util.HashMap;
 4 import java.util.Map;
 5 
 6 import org.apache.shiro.authz.UnauthorizedException;
 7 import org.springframework.web.bind.annotation.ControllerAdvice;
 8 import org.springframework.web.bind.annotation.ExceptionHandler;
 9 import org.springframework.web.bind.annotation.ResponseBody;
10 
11 @ControllerAdvice
12 public class MyExceptionHandler {
13     
14     @ResponseBody
15     @ExceptionHandler(UnauthorizedException.class)
16     public Map<String , Object> unauthorizedException(Exception e) {
17         Map<String, Object> map = new HashMap<>();
18         map.put("code", 0);
19         map.put("massage", e.getMessage());
20         return map;
21     }
22 
23 }

其实,就这么简单。

原文地址:https://www.cnblogs.com/TimerHotel/p/springboot14.html