【问题标题】:X-Forwarded-For does not appear when I click" Try it out" in swagger-ui.html当我在 swagger-ui.html 中单击“试用”时,X-Forwarded-For 未出现
【发布时间】:2020-11-14 21:41:50
【问题描述】:

我有一个使用 springdoc 的示例 github:https://github.com/vmisra2018/sb-example-swaggerdoc 我不知道如何为任何 api 启用 X-Forwarded-For,例如:“/person” 当我单击 try-it-out 时

复制 重现行为的步骤:

spring-boot 的版本=> 2.2.2.RELEASE

springdoc-openapi的模块和版本 =>springdoc-openapi-ui:1.2.32

我根据https://springdoc.org/faq.html 有以下条目,并且还定义了 ForwardedHeaderFilter bean,

server:
    forward-headers-strategy: NATIVE

示例代码: https://github.com/vmisra2018/sb-example-swaggerdoc

预期行为 当我单击 swagger-ui.html 中的 try-it-out 时,我想查看 X-Forwarded-For 标头。没看到。

【问题讨论】:

    标签: spring-boot springdoc springdoc-openapi-ui


    【解决方案1】:

    这只是添加参数的问题。我从这里得到提示: Authorization Header not getting displayed in CURL springdoc-openapi-ui

    文档对于新人来说是令人困惑的。常见问题解答中解释的一个是启用 x-forwarded-for 但它是用于 swagger-ui 吗? swaggerui 插件对我来说的目的是显示 api 并能够测试 ap,我只是想从 swagger-ui 传递 x-forwarded-for 并且我一直在寻找它。 解决方案在 fix-xforwardedfor-swaggerdoc 分支中 github

    【讨论】:

      【解决方案2】:

      X-Forwarded-For 通常由 Web 服务器设置... 如果您的应用程序公开了此 Header,则它可以在 swagger-ui 上使用而不会出现任何问题。

      Authorization Header 原因不同,OpenAPI 3 规范不允许显式添加 Authorization 标头。更多信息,请阅读:

      注意:不允许使用名为 Accept、Content-Type 和 Authorization 的标头参数。描述这些标题

      https://swagger.io/docs/specification/describing-parameters/#header-parameters.

      【讨论】:

      • 好吧,情况是它由客户端调用服务/应用程序传递(您可以假设示例)。因为这个 swaager-ui 不会暴露它,除非你按照我的方式去做。您可以从我的 github 查看示例,如果您提供修复,我会接受这种情况下的答案。
      猜你喜欢
      • 2020-10-20
      • 2018-08-28
      • 2017-01-07
      • 1970-01-01
      • 2022-01-16
      • 1970-01-01
      • 2013-10-22
      • 1970-01-01
      相关资源
      最近更新 更多