Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将字符串错误响应转换为Http状态代码_Java_Spring_Httpclient - Fatal编程技术网

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

Java 将字符串错误响应转换为Http状态代码,java,spring,httpclient,Java,Spring,Httpclient,在我使用的Java+Spring应用程序中,我们从名为overrestemplate的第三方获得JSON中的错误响应,响应代码为200 e、 g 如何将BAD_请求转换为400整数表示形式。 ApacheHttpStatusinte似乎没有提供任何这样做的接口。也许您可以使用org.springframework.http.HttpStatus: String error = "BAD_REQUEST"; HttpStatus httpStatus = HttpStatus.valueOf(er

在我使用的Java+Spring应用程序中,我们从名为over
restemplate
的第三方获得JSON中的错误响应,响应代码为200

e、 g

如何将
BAD_请求
转换为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();

更加简洁和简短

HttpStatus.OK.value();

因此,您的服务器以200的HTTP状态回复该内容?是的,它的另一方服务器响应,因此我无法更改。询问他们所有可能的错误,并创建您自己到标准状态代码的映射。@jbnize是否没有库可将字符串响应文本转换为int?这样的库如何知道第三方选择了哪些字符串,它们应该映射到哪个状态代码?这些弦不是标准的。太棒了!谢谢
HttpStatus.OK.value();