【发布时间】:2020-03-17 04:07:08
【问题描述】:
我有这个方法可以获取重定向 url,然后重定向到那个 url
private Mono<Void> redirectToUrl(ServerHttpResponse response, String status) {
String queryParameter = "?status=" + status;
return getRedirectUrl(queryParameter)
.flatMap(url -> {
response.setStatusCode(HttpStatus.MOVED_PERMANENTLY);
response.getHeaders().setLocation(url);
return response.setComplete();
});
}
在第 4 行中,我使用 flatmap,它将修改 response 对象异步,在这种情况下,响应将立即返回给客户端,而无需重定向。
我不能将map() 与response.setComplete() 一起使用,因为它会返回Mono<Mono<void>>,我需要返回Mono<void>
如何同步处理
response.setStatusCode(HttpStatus.MOVED_PERMANENTLY);
response.getHeaders().setLocation(url);
return response.setComplete();
并返回Mono<void>
【问题讨论】:
标签: java reactive-programming spring-webflux project-reactor