SpringCloud-Gateway(谓词Method、RemoteAddr)

128 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第7天,点击查看活动详情

谓词 Method 的作用

Method 它表示请求方式,表示必须是配置中的请求方式才可以正常转发。
支持多个值,配置多个值的时候使用 , 号分隔,这里的 , 号就不是设置取值了,而是设置多个请求方式,同时设置多个值的时候值之间是取的or或集。
如果设置 GET,POST 两种请求方式的时候可以按照如下 demo 设置。

image.png

示例

当我们设置好对应的请求方式时,那么只有请求符合我们当前设置的请求方式才可以正常转发,否则就不会正常转发。
比如我们设置了请求方式是 post, 然后我们在浏览器中直接通过url访问接口,按照正常来说是默认使用 get 方式进行访问,那么这个时候就没有符合我们配置的要求使用 post 进行访问,就不会正常进行转发。

image.png

谓词 RemoteAddr 的作用

远程地址,RemoteAddr 的作用是允许访问的客户端地址,只有在配置中的客户端地址才能进行访问对应接口。
注意:这里需要注意的是在 Gateway 中如果需要配置本地的话尽量使用 127.0.0.1 而不是使用 localhost,微服务中不可能只有 127.0.0.1 访问,但需要注意这个问题。如果是使用了localhost那么访问的时候使用的 url 也必须是 localhost 否则就不会正常转发。
比如配置的是 image.png 然后页面中通过 localhost 访问,就会出现访问错误的情况,只有使用 127.0.0.1 才可以正常访问

如果是需要配置多个地址的话,那么多个地址之间使用 , 号进行分隔。

image.png