Я пытаюсь познакомиться с проектом Project Project Reactor (https://projectreactor.io/) и создал небольшое приложение, чтобы сделать REST-вызовы другой службе через SSL. Я не могу найти способ настроить org.springframework.web.client.reactive.WebClient
для выполнения запросов по SSL. По всей видимости, нет документации. Я использую reactor-core
3.0.0.RC1 и reactor-netty
0.5.0.M3 и Spring Framework 5.0.0.M1. Кто-нибудь знает, как настроить reactor-netty
с поддержкой SSL?Как настроить реактор-netty для использования SSL?
0
A
ответ
0
Update 2017-01-04:
Это была исправлена в выпуске 5.0.0.M4 от Spring Framework с this patch.
Оригинал Ответ:
я обнаружил, что решение создать новый ClientHttpConnector
реализацию, уважающего SSL.
public class ReactorClientHttpsAwareConnector implements ClientHttpConnector {
@Override
public Mono<ClientHttpResponse> connect(HttpMethod method, URI uri,
Function<? super ClientHttpRequest, Mono<Void>> requestCallback) {
return reactor.ipc.netty.http.HttpClient.create()
.request(io.netty.handler.codec.http.HttpMethod.valueOf(method.name()),
uri.toString(),
httpClientRequest -> requestCallback
.apply(new ReactorClientHttpRequest(method, uri, httpClientRequest)))
.cast(HttpInbound.class)
.otherwise(HttpException.class, exc -> Mono.just(exc.getChannel()))
.map(ReactorClientHttpResponse::new);
}
}
HttpClient.create()
необходимо, чтобы клиент знал SSL.