Loading...
Spring Framework Reference Documentation 7.0.2의 retrieve()의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
retrieve()retrieve() 메서드는 응답을 어떻게 추출할지 선언하는 데 사용할 수 있습니다. 예를 들어:
1WebClient client = WebClient.create("https://example.org"); 2 3Mono<ResponseEntity<Person>> result = client.get() 4 .uri("/persons/{id}", id).accept(MediaType.APPLICATION_JSON) 5 .retrieve() 6 .toEntity(Person.class);
1val client = WebClient.create("https://example.org") 2 3val result = client.get() 4 .uri("/persons/{id}", id).accept(MediaType.APPLICATION_JSON) 5 .retrieve() 6 .toEntity<Person>().awaitSingle()
또는 body만 얻으려면:
1WebClient client = WebClient.create("https://example.org"); 2 3Mono<Person> result = client.get() 4 .uri("/persons/{id}", id).accept(MediaType.APPLICATION_JSON) 5 .retrieve() 6 .bodyToMono(Person.class);
1val client = WebClient.create("https://example.org") 2 3val result = client.get() 4 .uri("/persons/{id}", id).accept(MediaType.APPLICATION_JSON) 5 .retrieve() 6 .awaitBody<Person>();
decoded 객체의 스트림을 얻으려면:
1Flux<Quote> result = client.get() 2 .uri("/quotes").accept(MediaType.TEXT_EVENT_STREAM) 3 .retrieve() 4 .bodyToFlux(Quote.class);
1val result = client.get() 2 .uri("/quotes").accept(MediaType.TEXT_EVENT_STREAM) 3 .retrieve() 4 .bodyToFlow<Quote>();
기본적으로, 4xx 또는 5xx 응답은 특정 HTTP 상태 코드에 대한 sub-class를 포함하여
WebClientResponseException을 발생시킵니다. 오류 응답 처리 방식을 커스텀하기 위해서는
다음과 같이 onStatus 핸들러를 사용하십시오:
1Mono<Person> result = client.get() 2 .uri("/persons/{id}", id).accept(MediaType.APPLICATION_JSON) 3 .retrieve() 4 .onStatus(HttpStatusCode::is4xxClientError, response -> ...) 5 .onStatus(HttpStatusCode::is5xxServerError, response -> ...) 6 .bodyToMono(Person.class);
1val result = client.get() 2 .uri("/persons/{id}", id).accept(MediaType.APPLICATION_JSON) 3 .retrieve() 4 .onStatus(HttpStatusCode::is4xxClientError) { ... } 5 .onStatus(HttpStatusCode::is5xxServerError) { ... } 6 .awaitBody<Person>()
Configuration
Exchange