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

时间:2017-10-31 18:50:01

标签: java spring httpclient

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

例如

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

如何将BAD_REQUEST转换为400个整数表示。 Apache HttpStatus inte似乎没有提供任何接口来执行此操作。

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:0)

简洁明了

HttpStatus.OK.value();