Java 将字符串错误响应转换为Http状态代码
在我使用的Java+Spring应用程序中,我们从名为overJava 将字符串错误响应转换为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
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();