gpt4 book ai didi

java - 请求 Spring Cloud Gateway 中 GlobalFilter 中的其他服务

转载 作者:行者123 更新时间:2023-11-30 05:24:17 25 4
gpt4 key购买 nike

我有一个微服务负责生成具有不同信息的 JWT。

出于某种原因,Spring 网关使用自定义过滤器注入(inject) jwt。

问题是,过滤器无法在收到响应之前进行阻止。

因此,在将 jwt 注入(inject)请求之前,过滤器会被链接起来。

有办法解决这个问题吗?

查看我的过滤器:

[...]
@Component
public class AddJwtFilter implements GlobalFilter {
[...]

Mono<String> response = webClient.get().uri("https://localhost:9001/security/generatejwt/{accessToken}", accessToken).retrieve().bodyToMono(String.class);

response.subscribe(System.out::println);

System.out.println("I return the chain");
return chain.filter(exchange);
}
}

System.out::println 不是我想要的真正处理,它只是检查响应何时完成。请求是正确的,“println”给了我预期的响应。

非常感谢您的回复。

最佳答案

就像评论中所说,您需要链接所有内容。

@Component
public class AddJwtFilter implements GlobalFilter {
return webClient.get()
.uri("https://localhost:9001/security/generatejwt/{accessToken}",
accessToken)
.retrieve()
.bodyToMono(String.class).flatMap(response -> {
System.out.println(response);
return chain.filter(exchange);
});
}

关于java - 请求 Spring Cloud Gateway 中 GlobalFilter 中的其他服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58992338/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com