我的Spring控制器需要访问远程TCP服务器。如何将响应从TCP服务器流到客户端?
类似于:
WebClient client = WebClient.create("http://example.com");
....
@GetMapping(value = "/account")
public Mono<String> account() {
Mono<Account> account = client.get()
.url("/accounts/{id}", 1L)
.accept(APPLICATION_JSON)
.exchange(request)
.then(response -> response.bodyToMono(Account.class));
return account;
}
但使用的是TcpClient (不是WebClient)。
谢谢,
-尼克
发布于 2017-03-07 13:13:05
不幸的是,Spring确实有点专注于WebFlux
。
反应堆网络中有一个TcpClient
,但是这个级别更低,并且需要一些netty
知识(因为您必须自己执行诸如帧化和解码之类的操作)。而且它不像Response
那样有HttpClient
的概念,所以很难将它桥接成Mono
/Flux
,然后可以在控制器中转换.
因此,我担心目前还没有现成的解决方案来解决这个特定的用例:/我建议您使用公开问题。
https://stackoverflow.com/questions/42631556
复制相似问题