当前位置: 首页 > 知识库问答 >
问题:

获取Spring WebClient请求的状态代码

郑西岭
2023-03-14

我的目标是从Spring WebClient请求中获取HttpStatus。请求的所有其他信息都不相关。

WebClient.builder().baseUrl("url").build()
        .get().exchange().map(ClientResponse::statusCode).block();
WebClient.builder().baseUrl("url").build()
        .get().retrieve()
        .toEntity(String.class)
        .flatMap(entity -> Mono.just(entity.getStatusCode()))
        .block();

共有1个答案

段干博涉
2023-03-14

这个问题可以通过ExchangeTomono方法解决。这就产生了下面的代码片段。

WebClient.builder().baseUrl("url").build()
        .get().exchangeToMono(response -> Mono.just(response.statusCode()))
        .block();

Retrieve方法的用法可以通过以下方式改进,但仍然不是很干净。

WebClient.builder().baseUrl("url").build()
        .get().retrieve()
        .onStatus(httpStatus -> true, clientResponse -> {
            //Set variable to return here
            status.set(clientResponse.statusCode());
            return null;
        })
        .toBodilessEntity().block();
 类似资料:
  • 使用ApacheHttpClient 4.1。3并尝试从获取状态代码: 如何从中提取状态代码(202,404等)?或者,如果在4.1.3中还有另一种方法可以做到这一点,那它是什么? 另外,我假设完美/良好的HTTP响应是,但也希望得到确认。提前谢谢!

  • 我有一个实现接口,在其方法中,检查传入的HTTP请求,采取一些操作,然后将请求转发到反向代理处理程序()。 只要我只检查基本请求属性(如URL或标头),就可以正常工作。 当我想检查传入POST请求的主体时,例如通过调用然后使用属性,一旦请求传递到反向代理,我就会遇到错误: 我认为这是因为查看HTTP请求的主体会导致要排空的流,这意味着代理处理程序无法再次读取该流。 我一直在玩和,但我真的没有什么进

  • 本文向大家介绍java发送http请求并获取状态码的简单实例,包括了java发送http请求并获取状态码的简单实例的使用技巧和注意事项,需要的朋友参考一下 目前做项目中有一个需求是这样的,需要通过java发送url请求,查看该url是否有效,这时我们可以通过获取状态码来判断。 通过uConnection.getResponseCode()可以获取状态码。进而判断该网站是否存在。下面是不同状态码代表

  • 我有一个springboot/openapi应用程序。不依赖Spring Security性。通过swagger启动POST请求时,返回的状态为403。请求未到达控制器类。然而,Get请求确实有效,并返回状态200。 配置如下 application.yaml 403状态的原因可能是什么? 控制器

  • 问题内容: 说我有一个 现在,我需要单击它的状态。我的意思是我需要知道是否单击了它。 问题答案: 您还可以使用itemListener的itemStateChanged方法,如下所示: 并且您想知道后者使用方法的状态

  • 我正在尝试登录一个网站(https://dashboard.ngrok.com/user/login)使用jsoup。我对GET请求没有任何问题,但当我尝试使用凭证执行POST请求时,我收到: HTTP错误获取URL。状态=400 我尝试为请求设置一个更好的头,使用我在连接发出POST请求时发送的相同参数。 我也尝试过这种类型的请求: 结果显示: 线程“main”组织中出现异常。jsoup。Htt