일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Python
- 외국인 노동자
- Eclipse
- pdo
- maven
- node.js
- Linux
- SQLite
- Java
- 개발자 이야기
- xml
- 일본
- Apache
- php
- WebClient
- SQL
- spring boot
- javadoc
- Spring
- RSocket
- webflux
- gradle
- build tool
- swift
- JavaFX
- jquery
- Ajax
- mybatis
- bootstrap
- angularjs
- Today
- 122
- Total
- 3,456,555
목록전체 글 (471)
슬기로운 개발자 생활

요청 본문은 다음 예와 같이 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..

client.post()

exchangeToMono() 메소드와 exchangeToFlux() 메소드 (또는 Kotlin에서 awaitExchange { }와 exchangeToFlow { })는 응답 상태에 따라 다르게 응답을 디코딩하는 등의 고급 제어가 필요한 고급 케이스에 도움이 된다. Java Mono entityMono = client.get() .uri("/persons/1") .accept(MediaType.APPLICATION_JSON) .exchangeToMono(response -> { if (response.statusCode().equals(HttpStatus.OK)) { return response.bodyToMono(Person.class); } else if (response.statusCode().i..

retrieve() 메소드를 사용하여, 응답을 추출하는 방법을 선언 할 수 있다. 예를 들면 아래와 같다. Java WebClient client = WebClient.create("https://example.org"); Mono result = client.get() .uri("/persons/{id}", id).accept(MediaType.APPLICATION_JSON) .retrieve() .toEntity(Person.class); Kotlin val client = WebClient.create("https://example.org") val result = client.get() .uri("/persons/{id}", id).accept(MediaType.APPLICATION_JSON) ...

WebClient 를 만드는 가장 쉬운 방법은 정적 팩토리 메소드 중 하나를 사용하는 것이다. WebClient.create() WebClient.create(String baseUrl) 추가 옵션과 같이 WebClient.builder()을 사용할 수 있다. uriBuilderFactory: 기본 URL로 사용하기 위해 커스터마이징한 UriBuilderFactory. defaultUriVariables: URI 템플릿을 배포 할 때 사용하는 디폴트값. defaultHeader: 모든 요청에 사용되는 헤더. defaultCookie: 모든 요청에 사용되는 쿠키. defaultRequest: Consumer에 모든 요청을 사용자 지정. filter: 모든 요청의 클라이언트 필터. exchangeStrate..

Spring WebFlux에는 HTTP 요청을 실행하는 클라이언트가 포함되어 있다. WebClient에는 Reactor에 따른 함수를 기초로 하는 API가 있다. Reactive Libraries를 참조하도록 해라. 이는 스레드 및 동시성을 처리를 할 필요없이, 비동기 로직의 선언적 구성을 가능하게 한다. 이는 완전히 논블로킹이며, 스트리밍을 지원하고, 서버 측에서 요청과 응답의 컨텐츠를 인코딩 및 디코딩하는데 사용되는 코덱에 의존하고 있다. WebClient에는 요청을 실행하기 위한 HTTP 클라이언트 라이브러리가 필요하다. 다음의 지원이 포함되어 있다. Reactor Netty Jetty Reactive HttpClient Apache HttpComponents 그밖에 ClientHttpConnect..

Web MVC HTTP/2는 Reactor Netty, Tomcat, Jetty, Undertow에서 지원된다. 단, 서버 구성 관련 고려 사항이 있다. 자세한 내용은 HTTP/2 wiki 페이지을 참조해라.

Web MVC WebFlux Java 구성은 어노테이션이 선언된 컨트롤러 또는 함수 엔드포인트로 요청을 처리하는데 필요한 컴포넌트를 선언하고 구성을 정의하는 API를 제공한다. 즉, Java 구성 의해 작성된 기본 Bean을 이해할 필요는 없다. 그래도 더 이해하고 싶다면, WebFluxConfigurationSupport을 보거나, 특별한 Bean 유형의 내용에 대한 자세한 내용 읽어 봐라. 구성 API에는 없는 고급 사용자 지정 내용은 고급 구성 모드를 사용하여 구성을 완전히 제어 할 수 있다. 1.11.1. WebFlux 구성 활성화 Web MVC 다음의 예와 같이, Java config에 @EnableWebFlux 어노테이션을 사용할 수 있다. Java @Configuration @EnableWe..