我有一些java代码来检查http响应。现在,我想检查代码与客户端错误(4xx)家族,我如何做到这一点?
int responseCode = ab.sendGetRequest(href);最简单的解决办法是:
if (400 <= responseCode && responseCode < 500 ){
//...
}或者在编码约定方面要好一点,但却让可读性大受欢迎:
if (HttpStatus.SC_BAD_REQUEST <= responseCode &&
responseCode < HttpStatus.SC_INTERNAL_SERVER_ERROR)我如何检查responseCode与4xx家族之间的关系,如以下所示.
CLIENT_ERROR.contains(code)重要的一点是,我不想使用自定义解决方案(编写自己的CLIENT_ERROR或检查范围,.)。在java中是否已经有一个针对这个目的的java类了?
发布于 2016-01-13 16:39:54
我现在真的在利用javax.ws.rs.core.Response.Status.Family了。谢谢你@Kon给我这个有用的提示!
import javax.ws.rs.core.Response.Status.Family;
if (Family.familyOf(responseCode) == Family.CLIENT_ERROR) {发布于 2020-01-24 14:58:34
如果使用Spring,您可以简单地这样做:
HttpStatus.valueOf(statusCode).is4xxClientError()如果需要额外的东西,也可以查看is4xxClientError()实现。
https://stackoverflow.com/questions/34771663
复制相似问题