一般后端接口返回给前端的数据格式都是固定的,比如这样

    1. {
    2. "code": 5000,
    3. "data": {
    4. "id": 8,
    5. "name": "zyl",
    6. "number": "2020112617",
    7. "createdAt": "2021-10-19T12:32:08.497Z",
    8. "updatedAt": "2021-10-20T02:57:34.580329Z",
    9. "deletedAt": null
    10. },
    11. "msg": "success",
    12. "status": "ok"
    13. }

    对于异常处理的情况,我们也需要统一成上面的格式。而如果我们在Controller中通过try-catch处理异常的话,代码会变得非常的乱。因此我们可以通过Spring提供的注解来完成这个工作。

    关键注解
    @RestControllerAdvice 可以用来全局捕获SpringMVC抛出的异常
    @ExceptionHandler(value = Exception.class) 用来指定捕获的异常

    比如校验token是否有效/是否过期的时候
    image.png
    这里抛出的异常会被 @RestControllerAdvice 捕获,然后对应的进行处理
    image.png

    因此,当我们使用过期的token去请求接口的时候,会返回这样的结果
    image.png