Spring WebClient 是 Spring Framework 提供的一种非阻塞的、基于响应式流的 HTTP 客户端,它可以用来发送 HTTP 请求并接收响应。当 HTTP 状态码为 200 时,表示请求成功,而如果请求成功但返回的正文中包含错误信息,我们可以通过以下步骤来获取出错的正文:
WebClient webClient = WebClient.builder().baseUrl("http://example.com").build();
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
领取专属 10元无门槛券
手把手带您无忧上云