首页 > 解决方案 > 在 swagger UI 上获取错误按钮,即 schemaValidationMessages

问题描述

当我在 SwaggerUIBundle URL 中使用 localhost 时,它工作正常并且不显示错误按钮

SwaggerUIBundle({ url: " http://localhost:9001/api/docs/data " });

但是当我使用 IP 地址而不是 localhost 时,页面上会出现错误按钮并单击错误按钮来获取此消息。

{"schemaValidationMessages":[ { "level":"error", "message":"无法从文件http://10.100.160.420:9001/api/docs/swagger.json读取" } ]}

我不想使用validatorUrl: null,请不要回答使用这个validatorUrl: null。我只想知道为什么它不使用 IP 地址而是使用 localhost ?

标签: swaggerswagger-ui

解决方案


我不想使用validatorUrl:null,请不要回答使用这个validatorUrl:null。我只想知道为什么它不使用 IP 地址而是使用 localhost ?

在以下情况下,Swagger UI 不会显示验证者徽章:

  • validatorUrl: null指定了配置选项
  • API 定义(YAML/JSON 文件)的 URL 包含localhost127.0.0.1

来源:https ://github.com/swagger-api/swagger-ui/blob/master/src/core/components/online-validator-badge.jsx#L40

这就是为什么如果你使用验证器徽章不会出现,http://localhost/...但如果你使用http://10.100.160.420:9001/....


推荐阅读