我目前按照本指南分析了一个swagger.json文件:https://github.com/swagger-api/swagger-spec/blob/master/guidelines/REUSE.md
我在某个地方犯了一个错误,我想用swagger工具找出我的问题所在。当我运行该工具时,它会卡住并且不会产生任何输出。
我正在使用localhost服务器,而我的$ ref使用绝对URL指向localhost,例如:
"$ref": "http://localhost:8080/api-docs/v1/parameters.json#/myParameter"
我尝试使用文件系统中的文件运行或由本地服务器提供服务:无效。
swagger-tools validate http://localhost:8080/api-docs/v1/swagger.json
但是,如果我关闭服务器并尝试从文件系统进行验证,则工具会抱怨它无法解析引用,因此以某种方式证明文件已被解析并且swagger-tools尝试验证它。
答案 0 :(得分:0)
我找到了解决方案:问题来自定义文件中使用绝对URL的自引用。
使用相对参考,例如:
"$ref" : "#/myReference"
解决了这个问题,并且swagger-tools验证现在按预期工作。
当我查看Node.js进程并看到它消耗1.2 Go RAM和25%CPU时,我开始怀疑这样的事情。