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

标签 java spring httpclient

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

例如

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

如何将 BAD_REQUEST 转换为 400 整数表示。 Apache HttpStatus inte 似乎没有提供任何接口(interface)来这样做。

最佳答案

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

关于java - 将字符串错误响应转换为 Http 状态代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47042624/

相关文章:

java - 如何在 Spring 中从 Web 服务发送图像

java - 非法状态异常 : Populating ehCache with JSON Object via HttpClient using POST

android - 我怎样才能保持每 5 秒请求一次页面而不耗尽电池电量?

java - Android Studio刷新RecyclerView项

java - 如何在 spring mvc 中运行测试

java - 当单个 JFrame 中有多个 JPanel 对象时,repaint() 如何工作?

java - 错误 s4s-att-不允许 : Attribute 'type' cannot appear in element 'element'

spring - 如何使用Thymeleaf处理YAML文件?

java - Spring @Controller 未按预期返回 View

c# - HttpResponseMessage.Content.ReasAsString 返回空字符串