我的应用程序中嵌入了swagger ui。当我在本地运行我的节点应用程序时,UI工作得很好。
然而,当我将UI部署到我的“真实”服务器时,我在我的招摇ui的右下方出现了错误图像:
我确信这是我正在做的事情,这是搞砸了但我不知道。当我通过http访问swagger ui时,再次在本地工作。
然而,当我部署时,我通过apache运行并通过https服务,我看到一个错误。更糟糕的是,在部署时,我的“试用”调用都没有。似乎没有提出请求。
看起来UI使用我的swagger.json调用验证器,但该调用在本地工作。
我做错了什么?
当我点击错误图标时,我得到:
答案 0 :(得分:38)
要关闭swagger验证器,请在dist/index.html
的
window.swaggerUi = new SwaggerUi({
url: url,
validatorUrl : null,
dom_id: "swagger-ui-container",
答案 1 :(得分:16)
当这种情况发生时(有时会发生)我会去这里:
http://json-schema-validator.herokuapp.com/index.jsp
将swagger架构从此处https://github.com/swagger-api/swagger-spec/blob/master/schemas/v2.0/schema.json粘贴到架构字段中,然后粘贴数据字段中的规范
答案 2 :(得分:3)
Swagger-UI能够处理一些格式不正确的规范,这可能就是它在本地工作的原因。
默认情况下,从localhost读取规范时,验证过程不会运行。如果您愿意,您应该可以使用validatorUrl(https://github.com/swagger-api/swagger-ui#parameters)来运行它。
要查看验证错误,只需点击ERROR
图标,它就会显示您的规范问题列表。