From 123ee5f2dab22f1148272a9e1a852cd474b233a5 Mon Sep 17 00:00:00 2001 From: Sebastien Deleuze Date: Thu, 2 Feb 2017 11:36:45 +0100 Subject: [PATCH] Add WebClient create() and build() static methods --- .../client/DefaultWebClientBuilder.java | 4 ++++ .../web/reactive/function/client/WebClient.java | 17 +++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/DefaultWebClientBuilder.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/DefaultWebClientBuilder.java index c78ba810eec..609830a5535 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/DefaultWebClientBuilder.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/DefaultWebClientBuilder.java @@ -48,6 +48,10 @@ class DefaultWebClientBuilder implements WebClient.Builder { private MultiValueMap defaultCookies; + public DefaultWebClientBuilder() { + this(new DefaultUriBuilderFactory()); + } + public DefaultWebClientBuilder(String baseUrl) { this(new DefaultUriBuilderFactory(baseUrl)); } diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/WebClient.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/WebClient.java index 43c03f744ca..96bd2ee3879 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/WebClient.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/WebClient.java @@ -117,6 +117,16 @@ public interface WebClient { // Static, factory methods + /** + * Shortcut for: + *
+	 * WebClient client = builder().build();
+	 * 
+ */ + static WebClient create() { + return new DefaultWebClientBuilder().build(); + } + /** * Shortcut for: *
@@ -128,6 +138,13 @@ public interface WebClient {
 		return new DefaultWebClientBuilder(baseUrl).build();
 	}
 
+	/**
+	 * Obtain a {@code WebClient} builder.
+	 */
+	static WebClient.Builder builder() {
+		return new DefaultWebClientBuilder();
+	}
+
 	/**
 	 * Obtain a {@code WebClient} builder with a base URI to be used as the
 	 * base for expanding URI templates during exchanges. The given String