Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring云网关过滤器中的各种HTTP调用_Java_Spring_Reactive Programming_Spring Cloud Gateway - Fatal编程技术网

Java Spring云网关过滤器中的各种HTTP调用

Java Spring云网关过滤器中的各种HTTP调用,java,spring,reactive-programming,spring-cloud-gateway,Java,Spring,Reactive Programming,Spring Cloud Gateway,我有一个小问题,在一个(我猜)复杂的设置。我使用SpringCloudGateway将请求路由到各种目标系统。在进行路由之前,必须检查一些请求。以下场景必须作为GatewayFilter实现: 从exchange获取主体信息(exchange.getPrincipal().map(…) 检查被调用的路径;如果命中特定URL,请执行以下步骤 阅读请求正文并检查是否需要进一步检查某些行 对于需要检查的每一行;调用外部系统(WebClient.get()) 聚合所有检查结果(如果检查失败,则不应进行路

我有一个小问题,在一个(我猜)复杂的设置。我使用SpringCloudGateway将请求路由到各种目标系统。在进行路由之前,必须检查一些请求。以下场景必须作为GatewayFilter实现:

  • 从exchange获取主体信息(exchange.getPrincipal().map(…)
  • 检查被调用的路径;如果命中特定URL,请执行以下步骤
  • 阅读请求正文并检查是否需要进一步检查某些行
  • 对于需要检查的每一行;调用外部系统(WebClient.get())
  • 聚合所有检查结果(如果检查失败,则不应进行路由)
  • 到达目标系统的路线
  • 我尝试了许多不同的方法来实现这种方法;但没有成功:-(

    以下是一些错误结果:

    • 请求未路由;客户端收到HTTP 202
    • 请求被路由并返回到客户端;检查已执行;但未被考虑-因此返回的响应忽略了检查结果(响应返回到客户端;但检查仍在后台执行)
    • 请求已路由并返回到客户端;未执行检查
    关于解决这个问题有什么提示吗

    我使用(例如)以下页面来实现过滤器:因此,挑战似乎是根据请求正文内容链接各种请求

    欢迎任何提示

    谢谢
    卡斯滕

    发布您的代码,我们将了解为什么不一起工作