Я пытаюсь ознакомиться с Spring 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?
Как мне настроить Reactor-Netty для использования SSL?
Ответы (1)
Обновление от 04.01.2017:
Это было исправлено в версии 5.0.0.M4 Spring Framework с этот патч.
Исходный ответ:
Я обнаружил, что решение состоит в том, чтобы создать новую реализацию 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.
person
mrpeachum
schedule
16.08.2016