简体   繁体   English

使用原生 Java 检查 4xx Http 代码

[英]check for 4xx Http Code with native Java

I have some java code which checks a http response.我有一些检查 http 响应的 java 代码。 Now, I would like to check the code against the client error (4xx) family, how can I do that?现在,我想根据客户端错误 (4xx) 系列检查代码,我该怎么做?

int responseCode = ab.sendGetRequest(href);

The simplest solution would be:最简单的解决方案是:

if (400 <= responseCode && responseCode < 500 ){
   //...
}

or a bit nicer in terms of coding conventions but giving readability a big hit:或者在编码约定方面更好一些,但对可读性大有帮助:

if (HttpStatus.SC_BAD_REQUEST <= responseCode && 
    responseCode < HttpStatus.SC_INTERNAL_SERVER_ERROR)

How can I check responseCode against the 4xx family somehow like the following...如何以某种方式检查4xx系列的responseCode ,如下所示...

CLIENT_ERROR.contains(code)

The important point is, that I don't want to use a custom solution (writing my own CLIENT_ERROR or check against a range,...).重要的一点是,我不想使用自定义解决方案(编写自己的CLIENT_ERROR或检查范围,...)。 Isn't there an according Class in java already present for this purpose?为此目的,java中是否已经存在相应的类?

I'm actually utilizing javax.ws.rs.core.Response.Status.Family now.我现在实际上在使用javax.ws.rs.core.Response.Status.Family Thank you @Kon for the useful hint!谢谢@Kon 的有用提示!

import javax.ws.rs.core.Response.Status.Family;

if (Family.familyOf(responseCode) == Family.CLIENT_ERROR) {

If using Spring you can simply do :如果使用 Spring,您可以简单地执行以下操作:

    HttpStatus.valueOf(statusCode).is4xxClientError()

You can also look at is4xxClientError() implementation if you need anything extra如果您需要任何额外的东西,您还可以查看is4xxClientError()实现

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何使用4xx / 5xx状态代码,Java servlet / HttpURLConnection处理HTTP响应 - How to handle HTTP response with a 4xx/5xx status code, Java servlet/HttpURLConnection 我可以为HTTP客户端错误代码(4XX)和HTTP服务器错误代码(5XX)中的任何一个定义JSP自定义错误页面吗? - Can i define JSP Custom Error Pages for any of HTTP Client Error Code(4XX) and HTTP Server Error Code(5XX)? 有没有办法模拟HTTP错误响应5xx和4xx - Is there any way to simulate HTTP Error responses 5xx and 4xx java - 当响应代码为 4xx 时,如何从 REST API 解析响应正文 - How to parse reponse body from REST API when response code is 4xx in java 如何告诉HttpUnit对于HTTP状态4xx不会失败? - How to tell HttpUnit to not fail for http status 4xx? 解析 try catch 块中的异常以分配响应代码 - 2xx、4xx 或 5xx - Parse exception in try catch block to assign a response code - 2xx, 4xx or 5xx Spring WebClient - 如何在出现 HTTP 错误(4xx、5xx)的情况下访问响应正文? - Spring WebClient - how to access response body in case of HTTP errors (4xx, 5xx)? Java Spring Boot 框架 - WebClient 记录 4xx/5xx 主体响应 - Java Spring Boot framework - WebClient logging 4xx/5xx body response 4XX 和 5XX 错误时如何在 Java 中获取 json 响应 - How to get json response in Java in case of 4XX and 5XX error 防止Tomcat在HTTP错误状态4xx或5xx上干扰Jersey / JAX-RS 2响应主体 - Prevent Tomcat from interfering with Jersey/JAX-RS 2 Response Body on HTTP Error Status 4xx or 5xx
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM