[toc]

当前端访问接口不存在时,统一异常处理流程没有经过,这时要特殊处理。因为无效的请求,发起请求时,没有任何拦截和处理。
比如:访问一个不存在的请求
http://localhost:8080/xxx
image.png

1、响应状态添加404

NOT_FOUNT(HttpStatus.NOT_FOUND, 404, "NOT_FOUND")

image.png

2、统一响应体添加404处理

    public static <T> Result<T> notFount() {
        return new Result<>(ResultStatus.NOT_FOUNT, null);
    }

image.png

3、编写异常控制层进行异常转发

package com.demo.test.controller;

import com.demo.test.config.Result;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class ErrorController implements org.springframework.boot.web.servlet.error.ErrorController {

    @Override
    public String getErrorPath() {
        return "/error";
    }

    @RequestMapping("/error")
    public Result handlerError() {
        return Result.notFount();
    }
}

4、测试

image.png

image.png
image.png

Q.E.D.


只有创造,才是真正的享受,只有拚搏,才是充实的生活。