1 回答

TA貢獻1869條經(jīng)驗 獲得超4個贊
我在手機上寫這個,所以無法測試它,我是憑記憶寫的,但我認為它應該是這樣的?;蛘咧辽倌忝靼琢艘c。
我們首先提取id。然后我們查找服務器映射,如果一切順利,我們將其作為一個屬性,然后我們繼續(xù)過濾器鏈。
您幾乎不應該在應用程序中訂閱,調(diào)用客戶端通常是訂閱者。永遠不要阻塞反應性應用程序。
@Override
public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
final String id = exchange.getRequest()
.getHeaders()
.getFirst("reference");
return returnsMonoServerMappingService.getServerMapping(id)
.doOnSuccess(serverMapping -> {
exchange.getAttributes()
.put(GATEWAY_REQUEST_URL_ATTR, URI.create("https://" + server.getHost()
}).then(chain.filter(exchange));
}
添加回答
舉報