课次27:统一结果封装 & 全局异常处理
一、教学目标
创建Result类统一API返回格式。
使用@ControllerAdvice处理全局异常。
二、核心知识点(简要)
统一返回格式:{code, message, data},便于前端处理。
@RestControllerAdvice:全局异常处理器。
@ExceptionHandler:指定处理的异常类型。
三、操作步骤
还是在上次课的基础上操作
- 创建Result类:
右键com.weitoutiao文件夹,新建java类:common.Result
image-20260616085611260
类中内容:
package com.weitoutiao.common;
import lombok.Data;
@Data
public class Result
private Integer code;
private String message;
private T data;
private Result(Integer code, String message, T data) {
this.code = code;
this.message = message;
this.data = data;
}
public static
return new Result<>(200, "success", data);
}
public static
return new Result<>(200, message, null);
}
public static
return new Result<>(500, message, null);
}
}
2. 创建全局异常处理器:
右键common文件夹,新建java类:GlobalExceptionHandler
image-20260616093826385
类中内容:
package com.weitoutiao.common;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
@RestControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(RuntimeException.class)
public Result<?> handleRuntimeException(RuntimeException e) {
e.printStackTrace();
return Result.error(e.getMessage());
}
}
3. 修改HelloController使用Result:
HelloController的内容如下:
package com.weitoutiao.controller;
import com.weitoutiao.common.Result;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@GetMapping("/hello")
public Result
return Result.success("微头条后端启动成功!");
}
}
4. 本次课的工程目录:
image-20260616100857450
四、使用Postman验证
-
找到启动类,先启动主程序,点击运行按钮
-
安装好Postman
-
打开,新建一个Collection
-
再添加一个Request
-
Request名就叫hello,然后保存
-
在URL里输入:http://localhost:8080/hello
-
点击发送Send,在Body里会显示出后端返回的数据,选JSON格式,如下:
课次27:统一结果封装 & 全局异常处理
一、教学目标
二、核心知识点(简要)
三、操作步骤
1. 创建Result类:
2. 创建全局异常处理器:
3. 修改HelloController使用Result:
4. 本次课的工程目录:
四、使用Postman验证
1. 找到启动类,先启动主程序,点击运行按钮
2. 安装好Postman
3. 打开,新建一个Collection
4. 再添加一个Request
5. Request名就叫hello,然后保存
6. 在URL里输入:http://localhost:8080/hello
7. 点击发送Send,在Body里会显示出后端返回的数据,选JSON格式,如下:
EOF
浙公网安备 33010602011771号