当我在swagger-ui.html中单击“试用”时,未出现X-Forwarded-For

时间:2020-07-25 01:48:55

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

我有一个使用springdoc的示例github:https://github.com/vmisra2018/sb-example-swaggerdoc 而且我不知道如何在尝试单击时对任何api启用X-Forwarded-For,例如:“ / person”

要复制 重现行为的步骤:

spring-boot的版本=> 2.2.2。发布

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标头。我没看到。

2 个答案:

答案 0 :(得分:1)

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

对于授权标头,原因有所不同,OpenAPI 3规范不允许显式添加授权标头。有关更多信息,请阅读:

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

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

答案 1 :(得分:0)

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

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