首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Spring Webclient :当http状态码为200时如何获取出错的正文

Spring WebClient 是 Spring Framework 提供的一种非阻塞的、基于响应式流的 HTTP 客户端,它可以用来发送 HTTP 请求并接收响应。当 HTTP 状态码为 200 时,表示请求成功,而如果请求成功但返回的正文中包含错误信息,我们可以通过以下步骤来获取出错的正文:

  1. 创建 WebClient 对象:
代码语言:txt
复制
WebClient webClient = WebClient.builder().baseUrl("http://example.com").build();
  1. 发送请求并处理响应:
代码语言:txt
复制
webClient.get()
    .uri("/api/endpoint")
    .retrieve()
    .onStatus(HttpStatus::isError, response -> {
        // 当 HTTP 状态码为错误状态时的处理逻辑
        return response.bodyToMono(String.class).flatMap(body -> {
            // 获取出错的正文内容
            System.out.println("错误正文:" + body);
            // 抛出自定义异常或进行其他操作
            throw new CustomException("请求出错:" + body);
        });
    })
    .bodyToMono(String.class)
    .subscribe(responseBody -> {
        // 正常处理响应内容
        System.out.println("响应正文:" + responseBody);
    });

在上述代码中,我们使用 onStatus 方法来处理 HTTP 状态码为错误状态时的情况。通过调用 response.bodyToMono(String.class) 方法,我们将响应体转换为字符串并获取出错的正文内容。你可以根据具体的业务需求进行自定义异常抛出或其他处理操作。

推荐的腾讯云相关产品:无

Spring WebClient 是 Spring Framework 中的核心组件,与云计算服务商无直接关联,因此在这里没有腾讯云的相关产品推荐。

更多关于 Spring WebClient 的详细信息和使用示例,请参考官方文档:Spring WebClient

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券