일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- webflux
- SQL
- swift
- node.js
- 외국인 노동자
- gradle
- WebClient
- xml
- 일본
- maven
- jquery
- Java
- Eclipse
- RSocket
- bootstrap
- SQLite
- 개발자 이야기
- spring boot
- mybatis
- php
- Ajax
- Python
- angularjs
- Linux
- Spring
- JavaFX
- pdo
- Apache
- javadoc
- build tool
- Today
- 122
- Total
- 3,456,555
목록WebClient (13)
슬기로운 개발자 생활

서블릿 스택과 같은 참조 문서의 이 부분에서는 리액티브 스택 WebSocket 메시징 지원에 대해 설명한다. 3. WebSocket 3.1. WebSocket 개요 3.2. WebSocket API

WebClient를 사용하는 코드를 테스트하려면 OkHttp MockWebServer 등의 모의 Web 서버를 사용할 수 있다. 사용 예는 Spring Framework 테스트 스위트 WebClientIntegrationTests 또는 OkHttp 저장소 static-server의 샘플을 참조해라.

WebClient는 결과 마지막으로 차단하여, 동기화 스타일로 사용할 수 있다. Java Person person = client.get().uri("/person/{id}", i).retrieve() .bodyToMono(Person.class) .block(); List persons = client.get().uri("/persons").retrieve() .bodyToFlux(Person.class) .collectList() .block(); Kotlin val person = runBlocking { client.get().uri("/person/{id}", i).retrieve() .awaitBody() } val persons = runBlocking { client.get().uri("/..

속성(Attributes)은 정보를 필터 체인에 전달하는 편리한 방법을 제공하지만, 현재 요청에만 영향을 준다. 중첩된 추가 요청에 전파하는 정보를 전달하려면, flatMap를 통해 또는 후에 실행된다. concatMap를 통한 경우는 Reactor Context를 사용해야 한다. Reactor Context는 모든 작업에 적용하기 위해 리액티브 체인의 마지막에 입력해야 한다. 예 : Java WebClient client = WebClient.builder() .filter((request, next) -> Mono.deferContextual(contextView -> { String value = contextView.get("foo"); // ... })) .build(); client.get()..

요청에 속성을 추가 할 수 있다. 이것은 정보를 필터 체인에 전달 특정 요청에 대한 필터의 동작에 영향을 미치는 경우에 유용하다. 예를 들면 아래와 같다. Java WebClient client = WebClient.builder() .filter((request, next) -> { Optional usr = request.attribute("myAttribute"); // ... }) .build(); client.get().uri("https://example.org/") .attribute("myAttribute", "...") .retrieve() .bodyToMono(Void.class); } Kotlin val client = WebClient.builder() .filter { reques..

요청에 속성을 추가 할 수 있다. 이것은 정보를 필터 체인에 전달 특정 요청에 대한 필터의 동작에 영향을 미치는 경우에 유용하다. 예를 들면 아래와 같다. Java WebClient client = WebClient.builder() .filter((request, next) -> { Optional usr = request.attribute("myAttribute"); // ... }) .build(); client.get().uri("https://example.org/") .attribute("myAttribute", "...") .retrieve() .bodyToMono(Void.class); } Kotlin val client = WebClient.builder() .filter { reques..

다음의 예와 같이, 요청을 인터셉트하여 변경하기 위해 WebClient.Builder을 통해 클라이언트 필터 (ExchangeFilterFunction)을 등록 할 수 있다. Java WebClient client = WebClient.builder() .filter((request, next) -> { ClientRequest filtered = ClientRequest.from(request) .header("foo", "bar") .build(); return next.exchange(filtered); }) .build(); Kotlin val client = WebClient.builder() .filter { request, next -> val filtered = ClientRequest.f..

요청 본문은 다음 예와 같이 Mono 나 Kotlin 코루틴(Coroutines) Deferred 등 ReactiveAdapterRegistry에 의해 처리되는 모든 비동기 유형에서 인코딩 할 수 있다. Java Mono personMono = ... ; Mono result = client.post() .uri("/persons/{id}", id) .contentType(MediaType.APPLICATION_JSON) .body(personMono, Person.class) .retrieve() .bodyToMono(Void.class); Kotlin val personDeferred: Deferred = ... client.post() .uri("/persons/{id}", id) .contentT..