十三、Spring Cloud Gateway-使用Spring MVC or Webflux构建简单路由

SpringCloudGateway提供了一个名为ProxyExchange的实用程序对象,您可以在常规Spring web handler中使用它作为方法参数。它通过镜像HTTP谓词的方法支持基本的下游HTTP交换。对于MVC,它还支持通过forward()方法转发到本地handler。要使用ProxyExchange,只需在类路径中包含正确的模块(SpringCloudGatewayMVC或SpringCloudGatewayWebFlux)。

MVC 示例(将请求代理到远程服务器下游的“/test”):

相同示例,使用 Webflux实现:

ProxyExchange 上有一些方便的方法,使handler 方法能够发现和增强传入请求的URI路径。例如,您可能希望提取路径的尾随元素以将其传递到下游:

SpringMVC或WebFlux的所有特性都可用于网关handler 方法。例如,您可以注入请求头和查询参数,并且可以使用映射注释中的声明来约束传入的请求。有关这些功能的更多详细信息,请参阅SpringMVC中@requestmapping的文档。

可以使用ProxyExchange上的header()方法将头添加到下游响应中。

您还可以通过向get()等方法添加映射器来操作响应头(响应头中你可以添加任何你想加的内容)。映射器是一个接受传入ResponseEntity 并将其转换为传出响应的函数。

对于不向下游传递的“敏感”头(“cookie”和“authorization”)和“代理”头(x-forwarded-*)提供了一流的支持。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容