zoukankan      html  css  js  c++  java
  • 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 }

    其实,就这么简单。

  • 相关阅读:
    cookie+session,会话时间设定
    input中id和name属性的区别。
    框架和设计模式的区别
    Java数字格式化输出时前面补0
    DDL_数据库模式定义语言
    7.JAVA_SE复习(文件)
    (python)数据结构---集合
    (python)数据结构---字典
    (python)数据结构---字符串
    (python)排序算法
  • 原文地址:https://www.cnblogs.com/TimerHotel/p/springboot14.html
Copyright © 2011-2022 走看看