将字符串错误响应转换为http状态代码

uelo1irk  于 2021-07-09  发布在  Java
关注(0)|答案(2)|浏览(526)

在我使用的java+spring应用程序中,来自第三方 RestTemplate ,我们用200个响应代码得到json中的错误响应。
例如

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

我如何转换 BAD_REQUEST 到400整数表示。Apache HttpStatus inte似乎没有提供任何接口来实现这一点。

lvjbypge

lvjbypge1#

也许你可以用 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();
up9lanfz

up9lanfz2#

更加简洁和简短

HttpStatus.OK.value();

相关问题