
开发工具:STS
前言:
在前后端分离的项目中,当前端向后端请求资源失败时,想知道具体的错误原因,给用户予以提示。
但是,在springboot中返回内容是固定的。并不适合我们前端进行分析。
所以,就研究了下如何定制错误返回内容。
在开发之前,首先要明白springboot的异常处理机制。
其实很简单,不过就是发现异常、解析异常、匹配异常要返回的内容、返回异常。
下面,我们来做一个简单实例:
我捕获的是shiro权限认证失败的异常:
package com.xm.shiro.rbac; import java.util.HashMap;
import java.util.Map; import org.apache.shiro.authz.UnauthorizedException;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody; @ControllerAdvice
public class MyExceptionHandler { @ResponseBody
@ExceptionHandler(UnauthorizedException.class)
public Map<String , Object> unauthorizedException(Exception e) {
Map<String, Object> map = new HashMap<>();
map.put("code", 0);
map.put("massage", e.getMessage());
return map;
} }
其实,就这么简单。