Commit 7350aa0b authored by Christopher Cottier's avatar Christopher Cottier

filled in WebClient methods to test API

parent ea81d1ef
......@@ -2,11 +2,49 @@ package com.nisum.webfluxday2;
import com.nisum.webfluxday2.model.Product;
import org.springframework.web.reactive.function.client.WebClient;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
public class WebClientTest {
public static void main(String[] args) {
WebClient webClient = WebClient.create("http://localhost:8080/products/608347c698dbca1113ceb613");
Mono<Product> mono = webClient.get().retrieve().bodyToMono(Product.class);
public static Flux<Product> findAllProducts() {
return WebClient.create("http://localhost:8080/products")
.get()
.retrieve()
.bodyToFlux(Product.class);
}
public static Mono<Product> findProduct(String id){
return WebClient.create("http://localhost:8080/products/" + id)
.get()
.retrieve()
.bodyToMono(Product.class);
}
public static Mono<Product> postProduct (Product product){
return WebClient.create("http://localhost:8080/products/")
.post()
.body(Mono.just(product), Product.class)
.retrieve()
.bodyToMono(Product.class);
}
public static Mono<Product> putProduct (Product product, String id){
return WebClient.create("http://localhost:8080/products/" + id)
.put()
.body(Mono.just(product), Product.class)
.retrieve()
.bodyToMono(Product.class);
}
public static Mono<Void> deleteProduct (String id){
return WebClient.create("http://localhost:8080/products/" + id)
.delete()
.retrieve()
.bodyToMono(Void.class);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment