springboot篇】四. springboot全局异常处理

基于【springboot篇】三. springboot静态资源详解

springboot全局异常处理

项目准备

  1. 基于前一章的项目

配置全局异常

1 演示同步调用

同步请求调用 如果出现错误会直接跳转到一个error页面,如果页面不存在就直接打印错误信息

1.1 Controller定义方法
// 演示同步请求调用 如果出现错误会直接跳转到一个error页面,如果页面不存在就直接打印错误信息
@RequestMapping("/synchronous")
public String synchronous(){
    System.out.println("UserController.synchronous");
    int i = 1/0;
    return "error"; // 返回错误页面
}
1.2 在templates创建error页面

在这里插入图片描述

1.4 访问

在这里插入图片描述

2 演示异步调用

使用postman异步请求,异步请求调用 springboot方法直接返回对象即可,它会自动装换json对象

2.1 定义一个实体类ResultEntity
package com.wpj.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class ResultEntity<T> {

    private static final String STATUS_SUC = "ok"; // 成功;
    private static final String STATUS_FAIL = "error";// 失败

    private static final String NO_MSG = null;// 失败
    private static final String SUC_MSG  = "操作成功";// 失败
    private static final String FIAL_MSG  = "操作失败";// 失败

    private static final String NO_DATA = null;// 没有数据


    private String status; // 返回处理的结果的一个状态

    private String msg; // 提示信息

    private  T data; // 服务端返回客户端的数据

    /**
     * 成功时调用
     * @return
     */
    public static ResultEntity success(){
        return new ResultEntity(STATUS_SUC,SUC_MSG,NO_DATA);
    }

    /**
     * 失败时调用
     */

    public static ResultEntity fial(){
        return new ResultEntity(STATUS_FAIL,FIAL_MSG,NO_DATA);
    }
}

2.2 Controller定义方法
// 演示异步步请求调用 springboot方法直接返回对象即可,它会自动装换json对象
@RequestMapping("/asynchronous")
@ResponseBody
public ResultEntity asynchronous() {
	System.out.println("UserController.asynchronous");
	return ResultEntity.fial(); // 返回错误信息 json
}
2.3 使用postman请求

在这里插入图片描述

3. 小总结

3.1 同步返回错误视图
3.2 异步返回错误json对象
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值