是的,Java WebClient 可以处理响应。WebClient 是 Java 11 中引入的一个新的异步非阻塞库,用于实现响应式编程。它提供了对 HTTP 客户端 API 的简化封装,使得处理 HTTP 请求和响应变得更加简单。
要处理响应,你需要使用 WebClient 的 exchange
方法。这个方法返回一个 ClientResponse
对象,它包含了服务器返回的响应信息,如状态码、头部信息和响应体等。你可以使用 ClientResponse
对象的方法来获取这些信息并进行处理。
下面是一个简单的示例,展示了如何使用 WebClient 处理响应:
import org.springframework.web.reactive.function.client.WebClient;
import reactor.core.publisher.Mono;
public class WebClientExample {
public static void main(String[] args) {
WebClient webClient = WebClient.create("https://jsonplaceholder.typicode.com");
Mono<String> responseBody = webClient.get()
.uri("/todos/1")
.retrieve()
.bodyToMono(String.class);
responseBody.subscribe(System.out::println);
}
}
在这个示例中,我们创建了一个 WebClient 实例,用于访问 JSONPlaceholder 提供的 API。然后,我们使用 get()
方法发起一个 GET 请求,并使用 retrieve()
方法获取服务器返回的响应。最后,我们使用 bodyToMono(String.class)
方法将响应体转换为一个 Monosubscribe()
方法订阅这个对象,将响应内容打印到控制台。