当前位置: 首页 > 知识库问答 >
问题:

java - Spring Cloud Gateway中read-body的配置是做什么用的?

杨慎之
2023-05-20

今天学习了一下目前所在项目的网关是怎么实现的,使用的Spring Cloud Gateway
发现配置文件中有一个配置是:

spring:
 cloud:
    gateway:
      predicate:
        read-body:
          enabled: true

查看了Spring的官网文档,没找到太有用处的描述,只看到了一句:
image.png
一开始以为是对ReadBodyPredicateFactory的使用,但此断言工厂本就有使用的方式:

predicates:
   - Path=/**
   - name: ReadBodyPredicateFactory

自己编写demo尝试使用read-body时,还会有提示信息:Cannot resolve configuration property 'spring.cloud.gateway.predicate.read-body.enabled'
所以read-body到底是用来做什么的呢

共有1个答案

宫弘亮
2023-05-20
spring:
  cloud:
    gateway:
      routes:
      - id: read_body_route
        uri: http://example.org
        predicates:
        - Path=/testpath
        - ReadBody=String, \
          @io.projectr.ReadBodyPredicateFactoryTests.ReqObjCheckForPostReq
        filters:
        - ModifyRequestBody= String, String, \
            @io.projectr.gateway.filter.factory.rewrite.ModifyRequestBodyGatewayFilterFactoryTests.ToString
 类似资料:
  • 问题内容: 我真的很想了解更多有关更新,导出以及可以提供的值的信息, 我需要知道何时使用更新,何时不使用更新?还有什么选择? 这些是可能在数据库上发生的更改: new tables new columns in old tables columns deleted data type of a column changed a type of a column changed its attrib

  • 问题内容: 我的一个朋友注意到 在Java中有效。事实证明的类型为。 使用时,只是。 我们俩都无法弄清楚泛型的作用,因为它似乎被忽略了。但是,如果是这样,为什么这在语法上甚至是正确的呢? 问题答案: 这确实是一个错误,但是证明位于Java语言规范§14.4局部变量声明语句中: 您会看到,列出的 受限标识符 没有任何其他标记。同样,最终解析为明确禁止的令牌。 所以,不,是 不是 有效。

  • 如果我在项目中使用和,仍然需要添加?

  • 问题内容: 我在jquery图像滑块演示中找到了reset.css文件,但它从未包含在主index.html文件中。应该做什么,更重要的是,您将它放在哪里?你把它之前 任何引用的样式表()? 这是reset.css内部的代码 问题答案: 最初,关于样式的工作方式还没有标准化,每个浏览器都实现了自己认为正确的方式。您在IE中看到太多有关样式错误的问题的原因之一是,因为IE是样式方面与其他浏览器最不相

  • 问题内容: 我在线上有一个功能来帮助我完成当前的项目,并且在某些行上有分号。我想知道为什么?会破坏功能吗? 我上线的功能几乎没有修改: 以上是在说以下吗? 问题答案: 分号在您显示的代码中不执行任何操作。 我怀疑这是一个使用另一种语言(C,Java等)进行编程的人,在语句的末尾需要使用分号,这只是一种习惯(有时也对我而言)。 如果要将多个Python语句放在同一行上,可以使用分号将它们分开,请参见

  • JavaDoc说: 我知道 C# 中的 是什么,但这个标量和 C# 标量似乎完全不同。