首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用本机Java检查4xx Http代码

使用本机Java检查4xx Http代码
EN

Stack Overflow用户
提问于 2016-01-13 16:16:26
回答 2查看 9.3K关注 0票数 11

我有一些java代码来检查http响应。现在,我想检查代码与客户端错误(4xx)家族,我如何做到这一点?

代码语言:javascript
复制
int responseCode = ab.sendGetRequest(href);

最简单的解决办法是:

代码语言:javascript
复制
if (400 <= responseCode && responseCode < 500 ){
   //...
}

或者在编码约定方面要好一点,但却让可读性大受欢迎:

代码语言:javascript
复制
if (HttpStatus.SC_BAD_REQUEST <= responseCode && 
    responseCode < HttpStatus.SC_INTERNAL_SERVER_ERROR)

我如何检查responseCode4xx家族之间的关系,如以下所示.

代码语言:javascript
复制
CLIENT_ERROR.contains(code)

重要的一点是,我不想使用自定义解决方案(编写自己的CLIENT_ERROR或检查范围,.)。在java中是否已经有一个针对这个目的的java类了?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-13 16:39:54

我现在真的在利用javax.ws.rs.core.Response.Status.Family了。谢谢你@Kon给我这个有用的提示!

代码语言:javascript
复制
import javax.ws.rs.core.Response.Status.Family;

if (Family.familyOf(responseCode) == Family.CLIENT_ERROR) {
票数 13
EN

Stack Overflow用户

发布于 2020-01-24 14:58:34

如果使用Spring,您可以简单地这样做:

代码语言:javascript
复制
    HttpStatus.valueOf(statusCode).is4xxClientError()

如果需要额外的东西,也可以查看is4xxClientError()实现。

票数 20
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34771663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档