在我正在使用的Java + Spring应用程序中,使用来自RestTemplate的第三方,我们使用200个响应代码在JSON中获得错误响应。

例如

{
    "errors": [{
        "reason": "did not like the request",
        "error": "BAD_REQUEST"
    }]
}


如何将BAD_REQUEST转换为400个整数表示形式。
Apache HttpStatus inte似乎没有提供任何接口。

最佳答案

也许您可以使用org.springframework.http.HttpStatus

String error = "BAD_REQUEST";
HttpStatus httpStatus = HttpStatus.valueOf(error);
int errorIntCode = httpStatus.value();


或更安全:

String error = "BAD_REQUEST";
HttpStatus httpStatus = Arrays.stream(HttpStatus.values())
        .filter(status -> status.name().equals(error))
        .findAny()
        .orElse(HttpStatus.INTERNAL_SERVER_ERROR);
int errorIntCode = httpStatus.value();

10-08 01:35