Axios状态文本始终为空

wwtsj6pe  于 2022-11-23  发布在  iOS
关注(0)|答案(1)|浏览(159)

我最近一直在使用axios,但我无法获得Sping Boot RuntimeException抛出的错误消息。
我创建了一个简单的RuntimeException,它会抛出404状态:

@ResponseStatus(HttpStatus.BAD_REQUEST)
public class BadRequestException extends RuntimeException {
    public BadRequestException(String message) {
        super(message);
    }
}

我向我的一个端点发出GET请求,它所做的只是抛出BadRequestException并显示一些消息:

@RestController
public class TestController {

    @GetMapping("/throw")
    public ResponseEntity<?> throwError() {
        throw new BadRequestException("This text should be in statusText");
    }
}

catch子句(.catch((error) => console.log(error.response)))中的console.log()为:

正如您所看到的,statusText只是一个空字符串,其中应该是"This text should be in statusText"
使用fetch()可以很好地工作,但是在我的情况下从axios切换到fetch将是浪费时间。
我是否遗漏了什么?我是否正确地抛出了消息中的异常?
提前感谢所有的答案!

2ledvvac

2ledvvac1#

请注意,HTTP/2不支持状态文本消息,因此您在HTTP/2连接上总是会得到一个空的状态文本消息(通常这意味着您在开发中得到它们,但在生产中它们是空的)。https://developer.mozilla.org/en-US/docs/Web/API/Response/statusText

相关问题