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