GET
ÖrnekŞöyle yaparız
RestTemplate restTemplate = new RestTemplate();ResponseEntity<String> response = restTemplate.getForEntity("http://example.com", String.class);WebClient webClient = WebClient.create();Mono<String> response = webClient.get().uri("http://example.com").retrieve().bodyToMono(String.class);response.subscribe(result -> System.out.println(result));
Handling Errors
Açıklaması şöyle
RestTemplate’s error handling occurs through the ErrorHandler interface, which requires a separate block of code. WebClient streamlines this with more fluent handling.
Örnek
Şöyle yaparız
WebClient webClient = WebClient.create();
webClient.get()
.uri("http://example.com/some-error-endpoint")
.retrieve()
.onStatus(HttpStatus::isError, response -> {
// Handle error status codes
return Mono.error(new CustomException("Custom error occurred."));
})
.bodyToMono(String.class);Açıklaması şöyle
The onStatus() method allows for handling specific HTTP statuses directly within the chain of operations, providing a more readable and maintainable approach.
POST
Örnek
Şöyle yaparız
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<String> request = new HttpEntity<>("{\"key\":\"value\"}", headers);
ResponseEntity<String> response = restTemplate
.postForEntity("http://example.com", request, String.class);
WebClient webClient = WebClient.create();
Mono<String> response = webClient.post()
.uri("http://example.com")
.contentType(MediaType.APPLICATION_JSON)
.bodyValue("{\"key\":\"value\"}")
.retrieve()
.bodyToMono(String.class);Asynchronous Processing
Hiç yorum yok:
Yorum Gönder